Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 将DDD类映射到实体框架4.0生成的数据库模型_Database Design_Entity Framework 4_Domain Driven Design - Fatal编程技术网

Database design 将DDD类映射到实体框架4.0生成的数据库模型

Database design 将DDD类映射到实体框架4.0生成的数据库模型,database-design,entity-framework-4,domain-driven-design,Database Design,Entity Framework 4,Domain Driven Design,我想知道是否有人可以帮我解决这个问题,我目前有 基本上,我有一个遗留数据库,我必须处理。我创建了一些域类来表示我们的db模型。但是,域类不是与数据库表的直接一对一映射 这是旧数据库模型的快照: 我的一个域类是这样的: public class Reading { public Location Location {get; set;} } public class Location { public string Name { get; set;} } 鉴于上述模型和域类,

我想知道是否有人可以帮我解决这个问题,我目前有

基本上,我有一个遗留数据库,我必须处理。我创建了一些域类来表示我们的db模型。但是,域类不是与数据库表的直接一对一映射

这是旧数据库模型的快照:

我的一个域类是这样的:

public class Reading
{
    public Location Location {get; set;}
}

public class Location
{
    public string Name { get; set;}
}
鉴于上述模型和域类,如何映射它们

我发现的大多数文章都有直接的一对一映射

如果你们中有人能在这方面提供帮助,我们将不胜感激


提前感谢。

您可以使用AutoMapper并编写自定义值解析器来映射和聚合对象


请参阅,更具体地说,了解自定义操作解析程序。

您可以使用AutoMapper并编写自定义值解析程序来映射和聚合对象


请参阅,更具体地说,了解自定义操作解析器。

您不能通过实体框架直接映射它们,因为域模型中的类不是实体(可以,但如果位置的
名称
不唯一,则可能会产生各种不良后果)。第一个问题是,您的实体必须映射主键,并且主键必须是唯一的(我绝对不确定
Reading
entity代表什么)


大多数文章都描述了整个表的映射,因为这是使用EF最简单的方法。实际上,在EDMX中只映射部分表数据意味着手动编写EDMX XML,这在a**中很痛苦。您可以通过使用EF4.1和fluent api(无EDMX)来解决此问题。如果您只想映射部分数据,并且仍然能够插入未映射列的新记录,则表必须可以为空。

您不能通过实体框架直接映射它们,因为域模型中的类不是实体(可以,但如果位置的
名称
不唯一,则可能会产生各种不良后果)。第一个问题是,您的实体必须映射主键,并且主键必须是唯一的(我绝对不确定
Reading
entity代表什么)

大多数文章都描述了整个表的映射,因为这是使用EF最简单的方法。实际上,在EDMX中只映射部分表数据意味着手动编写EDMX XML,这在a**中很痛苦。您可以通过使用EF4.1和fluent api(无EDMX)来解决此问题。如果您只想映射部分数据,并且仍然能够插入未映射列的新记录,则表必须为空。

EF支持“表/类型”(一对一映射)、“表/层次结构”, “每种混凝土类型的表”、“表拆分”(分为多个实体)和 “实体拆分”(分为多个表)

你们的阅读表格似乎适合每种具体类型的表格

每种映射类型都可以在Google中轻松找到。 -搜索“实体框架”“每个具体类型的表”。

EF支持“每个类型的表”(一对一映射),“每个层次结构的表”, “每种混凝土类型的表”、“表拆分”(分为多个实体)和 “实体拆分”(分为多个表)

你们的阅读表格似乎适合每种具体类型的表格

每种映射类型都可以在Google中轻松找到。
-按具体类型搜索“实体框架”表。

。我从来没有听说过每种混凝土类型的桌子。我会用谷歌搜索它,看看如何使用它。谢谢,很有趣。我从来没有听说过每种混凝土类型的桌子。我会用谷歌搜索它,看看如何使用它。谢谢