在实体类里定义一个抽象字段。 如下代码。 public abstract class BaseClass { public abstract string Name { get; } } public class A: BaseClass { public virtual string Name { get { return "hello"; } } } public class B : BaseClass { public virtual string Name { get { return "Word"; } } } 查询代码。 |DBContext.BaseClass.Where(o => o.Name.Contains("o")).ToList(); 报错:LINQ to Entities 不支持指定的类型成员“Name”。只支持初始值设定项、实体成员和实体导航属性。
在EF映射中将Name忽略试试
//字段改为 [NotMapped] public abstract string Name { get; }
问题依旧。。
@Qiozi: 现在的Name属性就相当于是一个get方法,LINQ to Entities是不支持的。
@dudu: 也就是说, 只能取值,不能对这个字段进行查询?
@dudu: 理解你的意思了。 谢谢!