我的设置如下:
我有基于我的数据库的 T4 模板生成的 POCO 类。我的域模型继承自这些 POCO。基本上 POCO 模型就在那里,因此当我更改数据库时,我不必一直手动更新模型(我们使用 Dapper 作为我们的 ORM)。
我的问题是:
当我尝试使用 ReSharper 为我的域模型生成相等比较器时,resharper 接口不包含来自底层 POCO 类的属性,只包含来自域模型的属性。为什么会发生这种情况,就我而言,域模型从 POCO 继承,因此具有 POCO 的所有属性?
这是我的 POCO 课程:
namespace Models.Database
{
[Table("Restaurants")]
public abstract class Restaurant
{
[Key]
public virtual int Id { get; set; }
public virtual string RestaurantName { get; set; }
public virtual int? PreferredDayOfWeek { get; set; }
public virtual int? RestaurantTypeId { get; set; }
}
}
然后我的域模型是:
public class Restaurant : Models.Database.Restaurant
{
public virtual RestaurantType RestaurantType { get; set; }
}