【发布时间】:2019-03-10 01:43:12
【问题描述】:
我有表用户
用户表:
Id, Name , firstName , password , email , address , dateofBrith
我想为用户表创建两个实体,一个是精简版,另一个是完整的
[Table("user")]
public class LiteUser
{
public int ID {get;set;}
public string Name {get;set;}
public int firstName{get;set;}
}
第二个实体
public class fullUser : LiteUser
{
public date dateofBrith {get;set;}
public string password {get;set;}
public string email {get;set;}
public string address {get;set;}
}
但我没有得到关于没有列鉴别器的错误
可以像我的实体一样做一些事情,但一个比另一个实体有更多的文件
提前感谢您的帮助
【问题讨论】:
-
将您的完整用户映射到您的表。如果您在编码过程中不需要所有字段,请使用projection 仅返回您需要的字段。
-
@Fran 非常适合投影。如果您不喜欢使用 LINQ,则始终可以将 EF 实体(完整)映射到称为 LiteUser 的 DTO。根据设计,每个表一个 EF 实体。
-
@JohnWhite >每个表一个 EF 实体entities across tables 表,您可以在每个层次结构的[单表] (weblogs.asp.net/manavi/…) 表中拥有具有继承性的实体。但这是更多涉及的场景。
-
@Fran 在 EF6 和后面,是的。我实际上在几个场景中运行。在 EF Core 中,没有,我不知道添加它的计划。对于这个 OP,这是解决他的场景的最简单的回应。不同的情况需要更复杂、更细致的反应。但感谢您提供额外的链接。
标签: c# entity-framework