我正在尝试使用EntityFramework的Fluent配置建模数据库。我无法编辑或以其他方式控制数据库架构。我试图建模的实体有很多查找表 - 例如,一个属性(它的名称)有一个专用于它的整个表,其名称与一个id相关联(它是' s语言)。换句话说,它在数据库中看起来有点像这样:
Entity
string[] Names
Entity_Names
string Name
int LanguageId // 9 = English
但是,我试图将其浓缩为
Entity
string Name // I only want the English name
使用SQL查询,这很简单 - 但是如何通过Entity Framework的流畅配置来实现呢?这些实例还有很多,但这是我能提出的最简单的例子。
答案 0 :(得分:1)
如果您确实设法以这种方式展平模型,那么它几乎肯定会成为数据的只读视图。实体框架无法知道应该在另一个表中查找字符串属性并用整数id替换。
如果您只是查看,那么留下两个选项。编写一个数据库视图,用一个字符串替换id,并为该视图构建一个实体。
或构建与架构模型兼容的实体,并将数据投影到dto。
第二种方法是我更喜欢的方法,因为这意味着如果你确实需要CRUD,你仍然拥有兼容的实体模型。