小编Mih*_*kel的帖子

如何首先使用迁移向Entity Framework 4.3代码中的列添加描述?

我首先使用Entity Framework 4.3.1代码进行显式迁移.如何在实体配置类或迁移中添加列的描述,以便最终作为SQL Server中列的描述(例如2008 R2)?

我知道我可以编写一个DbMigration类的扩展方法,该方法将迁移事务中的sql迁移操作注册sp_updateextendedpropertysp_addextendedproperty过程调用,并在迁移Up方法中创建表后调用该扩展.但是,我还没有发现一种优雅的内置方式吗?拥有迁移的更改检测逻辑可以获取的属性并在scaffolded迁移中生成appropritate方法调用会很好.

.net c# sql-server-2008-r2 entity-framework-4.3

22
推荐指数
3
解决办法
9008
查看次数

实体框架4.3 - TPH映射和迁移错误

我正在使用Entity Framework 4.3,首先是代码迁移和手动迁移.我正在尝试映射使用两个自定义鉴别器字段的TPH(每层次表)设置.一个用于鉴别器本身,另一个用于软删除(很像NH类映射中的"where"选项).完全相同的设置在另一个在EF 4.2上运行的项目中运行正常.

尝试使用NuGet控制台中的"add-migration"命令添加迁移时出现错误.我已经尝试了定义表名的所有组合 - 类的属性,"OnModelCreating"方法,EntityTypeConfiguration类等.我之前没有涉及复杂层次结构映射的迁移工作得很好.

我偶然发现了EF 4.3中的一些重大变化吗?

代码:

//---- Domain classes ---------------------

public abstract class ParentClass
{
    public string ParentString { get; set; }
}

public class Foo : ParentClass
{
    public string FooString { get; set; }
}

public class Bar : ParentClass
{
    public string BarString { get; set; }
}

//---- Mapping configuration --------------

public class ParentConfiguration : EntityTypeConfiguration<ParentClass>
{
    public ParentConfiguration()
    {
        Map<Foo>(m =>
        {
            m.Requires("IsActive").HasValue(1);
            m.Requires("Type").HasValue("Foo");
        })
        .ToTable("Parent");

        Map<Bar>(m =>
        {
            m.Requires("IsActive").HasValue(1);
            m.Requires("Type").HasValue("Bar"); …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework database-migration entity-framework-4.3

9
推荐指数
1
解决办法
4187
查看次数