cho*_*bo2 4 c# entity-framework
我使用EF代码第一种方法.我开始制作映射文件(我来自nihbernate背景)但发现你真的不需要它们,除非你需要做一些改变.
我想知道它将用于我的Id的命名约定?
会不会Product_Id还是ProductId?
编辑
根据迄今为止的评论,这让我有点困惑.我问的是因为我添加了2个新类(即表)并将它们连接起来并重新创建了我的数据库.
我的表中与我的新表有关系的两个FK都有"Product_Id",我想也许是因为我没有映射.
我刚尝试使用映射和相同的问题.
所有其他表关系都有Camel Upper Case.
编辑2
嗯,时髦的东西在我的桌子上有两次相同的名字.一旦它将其视为FK,另一次将其视为常规列.
编辑3
想出来,说出来并在这里发帖帮我隔离问题.原因是因为我正在做poco方式
public Product Product {get; set;}
public Guid ProductId { get; set; }
Run Code Online (Sandbox Code Playgroud)
我现在发布我的ProductId我设置为int类型所以发生的事情是它会在db中生成一个名为ProductId的列,然后当它有时间制作FK时它不再使用ProductId并且不得不使用Product_Id
您可以使用ProductId或者Id,它会被识别为实体框架的命名约定的主键.
如果要中断约定,也可以使用Key数据注释.
[Key]
public int Product_Id {get;set;} //Note the underscore
Run Code Online (Sandbox Code Playgroud)
您还可以使用Fluent API:
modelBuilder.Entity<Product>().HasKey(t => t.Product_Id); //Breaking convention again!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4286 次 |
| 最近记录: |