C# 实体框架:较大实体的子集实体
所以基本上我有一个叫做Comment的表。在那张桌子上我有三个字段C# 实体框架:较大实体的子集实体,c#,linq-to-entities,entity,subset,C#,Linq To Entities,Entity,Subset,所以基本上我有一个叫做Comment的表。在那张桌子上我有三个字段 身份证 头衔 正文 我已经为表创建了一个Entity对象,它映射了所有三个字段,但我现在想要的是另一个名为CommentHeader的实体,它只映射ID和标题。出于速度原因,我只想加载所有评论的标题,而不是文本。那么最好的方法是什么呢 我不是在寻找带有var对象的Select语句。我可以自己解决这个问题,我真的不喜欢这个解决方案,因为我更愿意把它抽象到实体对象后面 我尝试了一个显而易见的解决方案,就是复制原始实体对象并从中删
- 身份证
- 头衔
- 正文
(顺便说一句,为了简单起见,本例只有三个字段。假设标题中可能有更多字段。这是我不想将select与var对象一起使用的主要原因,因为它不只是一个字段,还可能是一整组字段)。最简单的方法可能是创建一个视图(“CommentHeaders”)在数据库中,仅从注释表中选择ID和标题。然后更新模型并添加视图,这将基于这些列创建新实体。最简单的方法可能是创建视图(“CommentHeaders”)在只从注释表中选择ID和标题的数据库中。然后更新您的模型并添加视图,这将基于这些列创建一个新实体。作为对此的更新。我发现的另一个解决方案是延迟加载标量属性。不幸的是,EF还不支持延迟加载属性,因此这是唯一的解决方案k当前完成。如果您正在创建的第二个类与第一个类非常相似,则此方法是最好的。在这种情况下,我根本不会创建第二个类。作为对此的更新。我发现的另一个解决方案是延迟加载标量属性。不幸的是,EF还不支持延迟加载属性,因此这就是当前的技巧如果你创建的第二个类与第一个类非常相似,那么这个方法是最好的。在这种情况下,我根本不会创建第二个类。