小编use*_*662的帖子

FluentMigrator回滚到Not Nullable列?

鉴于以下迁移:

[Migration(1)]
public class Mig001 : Migration
{
    public override void Up()
    {
        Alter.Table("foo").AlterColumn("bar").AsInt32().Nullable();
    }

    public override void Down()
    {
        Alter.Table("foo").AlterColumn("bar").AsInt32().NotNullable();
    }
}
Run Code Online (Sandbox Code Playgroud)

迁移器更改列并使其可为空,并且在回滚时它会执行相反操作并使其不再可为空.

让我们说foo自迁移以来已经添加了数据; 现在列中有null的bar行.

如果它被回滚然后操作将失败,在fluentmigrator中是否有办法处理这种情况?或者什么是最佳实践.

c# nullable rollback fluent-migrator

12
推荐指数
2
解决办法
5012
查看次数

迁移器说明(FluentMigrator)?

有人可以解释迁移者(特别是流利者)的概念吗?

以下是我在这个问题上收集到的(可能是混乱的)事实:

  • 它是一种通过版本控制最初创建然后维护数据库更新的方法.

  • 第一个迁移(或数据库的初始版本)将包含所需的所有表,关系和属性(流畅地完成或在脚本中使用一大块sql).

  • 如果要将更改推送到数据库,可以创建新的迁移方法(向上和向下),例如添加新表或修改字段.

  • 要部署其中一个迁移,您将使用命令行指定包含迁移的dll,连接字符串和所需的版本.

如果您有一组相当复杂的数据模型,那么为所有这些模型创建迁移定义会不会相当困难和耗时?

我知道使用nHibernate/fluent,您可以轻松地为数据库生成表,而无需定义除模型和映射文件之外的任何内容.有没有办法使这个配置与Migrator/Versioning兼容?

当nhibernate/fluent负责生成数据库时,我不一定需要定义表的每个方面.它通过约定或映射文件完成.有了迁移器,我需要定义这个级别的细节吗?

c# database-versioning fluent-migrator

10
推荐指数
1
解决办法
4981
查看次数

在没有实例化的情况下访问类中的属性

让我们说我有一节课:

public class foo
{

    public string bar 
    {
        get { return "A Value"; }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我只想访问bar中包含的值,并且我对实际的类不感兴趣,我可以执行以下操作:

string value = new foo().bar;
Run Code Online (Sandbox Code Playgroud)

这真的是获取价值的最佳方式吗?我不想让这个属性(和类)静态.

如果我有很多关于我想访问的bar属性的类,是否会有更通用的方法呢?

编辑:它不是静态的原因是它被覆盖的属性,我相信它不能是静态的:

public class parent
{
    public abstract string bar { get; }
}

public class foo : parent
{
    public override string bar
    {
        get { return "A Value"; }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# class

3
推荐指数
1
解决办法
3299
查看次数

没有mvc依赖的模型上的MVC数据注释?

假设我有一个包含所有模型类的项目,其中包含一个包含MVC 4 Web应用程序的单独项目(服务,存储库层也是如此).

如果我想为我的模型属性使用MVC特定数据注释,我如何在不依赖MVC的情况下执行此操作?

任何引用该模型的非MVC项目也需要MVC引用.我希望这些仅在MVC使用模型时添加,而不是所有内容.

最初我在考虑部分课程,但我知道这些不能用于跨组装.

制作克隆类并从模型类之外的原件继承可能不起作用.它需要代码引用这些子类而不是原始类.

我更喜欢以更不引人注目的方式将属性附加到模型中.

c# asp.net-mvc class

2
推荐指数
1
解决办法
602
查看次数