gpt4 book ai didi

c# - Entity Framework 代码优先 CTP5 映射

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:44 25 4
gpt4 key购买 nike

我刚刚开始在一个新项目中实现 EF CTP 5。在这种情况下,由于模糊的数据库命名约定,我所有的数据库字段都以不同的方式命名为我的 POCO 属性。我认为映射它的最佳方法是重写 OnModelCreating 并使用这样的代码是否正确

    modelBuilder.Entity<Sale>().Property(s => s.ID).HasColumnName("sale_id");
modelBuilder.Entity<Sale>().Property(s => s.ProductName).HasColumnName("product_name");
modelBuilder.Entity<Sale>().Property(s => s.ProductPrice).HasColumnName("product_price");
modelBuilder.Entity<Sale>().Property(s => s.SaleDate).HasColumnName("sale_date");

这将很快变得非常大,这真的是最好的方法吗?

最佳答案

我认为您应该考虑使用新的 CTP5 Column 属性。在这种情况下,使用数据注释似乎是比流畅的 API 更好的选择。您的 Sale 类将类似于以下代码:

public class Sale
{
[Column(Name="sale_id")]
public int ID { get; set; }

[Column(Name="product_name")]
public string ProductName { get; set; }

[Column(Name="product_price")]
public string ProductPrice { get; set; }

[Column(Name="sale_date")]
public DateTime SaleDate { get; set; }
}

关于c# - Entity Framework 代码优先 CTP5 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4427868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com