gpt4 book ai didi

entity-framework - EF 4.1 RTM-EntityTypeConfiguration

转载 作者:行者123 更新时间:2023-12-04 07:23:35 24 4
gpt4 key购买 nike

我一直在使用带有每个实体专用映射类的EF Code First CTP5,如下所示:

public class UserMapping : EntityTypeConfiguration<User>
{
public UserMapping()
{
ToTable("Users");

HasKey(t => t.ID);
Property(t => t.ID).HasColumnName("user_id");

Property(t => t.Name).HasColumnName("name");
}
}

并按照Jonas Cannehag在此处描述的方式加载它们:
http://areaofinterest.wordpress.com/2010/12/08/dynamically-load-entity-configurations-in-ef-codefirst-ctp5/

但这在RTM中不起作用,我还无法弄清楚如何使用专用的映射类。你? :-)

最佳答案

public class DataContext : DbContext
{
...

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new UserMapping());
base.OnModelCreating(modelBuilder);
}
}

动态版本(可能应该在投入生产之前进行广泛的测试)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var typesToRegister =
Assembly.GetExecutingAssembly().GetTypes().Where(
type =>
type.BaseType.IsGenericType &&
type.BaseType.GetGenericTypeDefinition() == typeof (EntityTypeConfiguration<>));

foreach (object configurationInstance in typesToRegister.Select(Activator.CreateInstance))
{
modelBuilder.Configurations.Add((dynamic) configurationInstance);
}

base.OnModelCreating(modelBuilder);
}

关于entity-framework - EF 4.1 RTM-EntityTypeConfiguration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5718976/

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