C# 从表生成代码时,如何从数据库推断关系和基数?

C# 从表生成代码时,如何从数据库推断关系和基数?,c#,database-design,code-generation,sql-server-2012,cardinality,C#,Database Design,Code Generation,Sql Server 2012,Cardinality,我正在从数据库中生成代码(模型)。如果可能的话,我不知道如何设置我的数据库来创建包含基数的关系。这是可以做到的,还是因为我做了数据优先的设计,所以我只能简单地生成与表匹配的模型,而没有关系或基数 哦,如果我用了不正确的术语,基数就是关系的类型(一对一,一对多,多对多)。这样,我的模型将参考另一个模型或模型的i集合生成 例如: public class OrderInformation { public virtual int OrderId { get; set; } pu

我正在从数据库中生成代码(模型)。如果可能的话,我不知道如何设置我的数据库来创建包含基数的关系。这是可以做到的,还是因为我做了数据优先的设计,所以我只能简单地生成与表匹配的模型,而没有关系或基数

哦,如果我用了不正确的术语,基数就是关系的类型(一对一,一对多,多对多)。这样,我的模型将参考另一个模型或模型的
i集合生成

例如:

public class OrderInformation
{
     public virtual int OrderId { get; set; }

     public virtual DateTime OrderDate { get; set; }

     public virtual BillingInformation BillingInfo { get; set; }

     public virtual Address DeliveryAddress { get; set; }

     public virtual ICollection<ItemInformation> ShoppingCart { get; set; }
}
公共类订单信息
{
公共虚拟int-OrderId{get;set;}
公共虚拟日期时间OrderDate{get;set;}
公共虚拟计费信息计费信息{get;set;}
公共虚拟地址传递地址{get;set;}
公共虚拟ICollection ShoppingCart{get;set;}
}

您使用的是实体框架吗?我生成的大多数数据库都在T4模板中。您可以利用Sql管理对象,因为关系是保留的。我还写了一个可以处理多对多关系的框架。@TimB:不,我没有使用实体框架。。。但即使是这样,数据库设置是否也必须相同才能使EF正确生成模型?我问,因为其他工具可能比EF能够从数据库中提取更多信息。据我所知,您无法更改EF生成代码的方式。