Entity framework 4 如何为实体配置指定名称

Entity framework 4 如何为实体配置指定名称,entity-framework-4,Entity Framework 4,我在EntityFramework4中首先使用代码,EntityFrameworkFeatureCTP3 是否可以指定实体配置的名称?实际上,将表名从“xxxSet”更改为我选择的名称?据我所知,您可以从designer is Visual Studio(最简单的方法)或.edmx文件(如果您知道您在那里做什么)进行更改。另外,请尝试更新到大约2个月前发布的.NET 4.0和EF4,这样就不用考虑CTP了(有Visual C#2010或Web Developer 2010的快速版本,您可以免费使

我在EntityFramework4中首先使用代码,EntityFrameworkFeatureCTP3


是否可以指定实体配置的名称?实际上,将表名从“xxxSet”更改为我选择的名称?

据我所知,您可以从designer is Visual Studio(最简单的方法)或.edmx文件(如果您知道您在那里做什么)进行更改。另外,请尝试更新到大约2个月前发布的.NET 4.0和EF4,这样就不用考虑CTP了(有Visual C#2010或Web Developer 2010的快速版本,您可以免费使用)。此版本中的设计者比CTP更“完整”,并且更了解自动命名实体(复数)

这与EF有关,而不是Linq2Sql(它在某种程度上类似于EF),但我不知道如何确切地更改那里的名称(尽管肯定有一种方法,而且必须与EF的方法基本相同)

干杯

找到了。您希望执行以下操作:

public class BloggingModel : ObjectContext
{
    public BloggingModel(EntityConnection connection)
        : base(connection)
    {
        DefaultContainerName = "BloggingModel";
    }

    public IObjectSet<User> Users   // ObjectSet name -- you can call it whatever you want
    {
        get { return base.CreateObjectSet<User>(); }
    }
}

class UserConfiguration : EntityConfiguration<User>
{
    public UserConfiguration() 
    {
        Property(u => u.Password).HasMaxLength(15).IsRequired();

        Relationship(u => u.AuthoredPosts).FromProperty(p => p.Author);
        Relationship(u => u.PostedPosts).FromProperty(p => p.Poster);

        MapHierarchy( 
            u => EntityMap.Row( 
                EntityMap.Column(u.ID, "uid"),
                EntityMap.Column(u.Password)
            )
        ).ToTable("Users");  // DB table name -- again, anything you like
    }
}
公共类博客模型:ObjectContext
{
公共博客模型(EntityConnection连接)
:底座(连接)
{
DefaultContainerName=“BloggingModel”;
}
public ioobjectset Users//ObjectSet name——您可以随意调用它
{
获取{return base.CreateObjectSet();}
}
}
类UserConfiguration:EntityConfiguration
{
公共用户配置()
{
属性(u=>u.Password).HasMaxLength(15).IsRequired();
关系(u=>u.AuthoredPosts).FromProperty(p=>p.Author);
关系(u=>u.PostedPosts).FromProperty(p=>p.Poster);
地图层次(
u=>EntityMap.Row(
EntityMap.列(u.ID,“uid”),
EntityMap.列(u.Password)
)
).ToTable(“Users”);//DB table name——再说一遍,您喜欢什么都行
}
}

请再次查看链接帖子以获取完整信息。

请再次阅读我的帖子。我添加了额外的信息。我没有使用设计器,代码首先只使用实体框架功能CTP3。很抱歉误解。。。我的坏消息!我还没有使用EF的代码优先(只有DB优先),所以我不知道这个问题的答案…这个特性是在CTP2中引入的。我在任何地方都看不到任何文档,除了ADO.NET团队博客指出您可以这样做。是的,我以前见过。但问题是我不使用MapHierarchy。关于文件。谢谢