【发布时间】:2008-10-01 03:23:07
【问题描述】:
我有一些 linq 实体继承了这样的东西:
public abstract class EntityBase { public int Identifier { get; } }
public interface IDeviceEntity { int DeviceId { get; set; } }
public abstract class DeviceEntityBase : EntityBase, IDeviceEntity
{
public abstract int DeviceId { get; set; }
}
public partial class ActualLinqGeneratedEntity : DeviceEntityBase
{
}
在通用方法中,我使用以下方法查询 DeviceEnityBase 派生实体:
return unitOfWork.GetRepository<TEntity>().FindOne(x => x.DeviceId == evt.DeviceId);
其中 TEntity 有一个约束,即它是一个 DeviceEntityBase。此查询始终失败,并出现 InvalidOperationException 消息“类成员 DeviceEntityBase.DeviceId 未映射”。即使我在抽象基类中添加了一些映射信息
[Column(Storage = "_DeviceId", DbType = "Int", Name = "DeviceId", IsDbGenerated = false, UpdateCheck = UpdateCheck.Never)]
【问题讨论】:
标签: c# linq-to-sql