Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EntityFramework CodeFirst忽略MaxLength_C#_Sql Server_Wpf_Entity Framework_Sql Server Ce - Fatal编程技术网

C# EntityFramework CodeFirst忽略MaxLength

C# EntityFramework CodeFirst忽略MaxLength,c#,sql-server,wpf,entity-framework,sql-server-ce,C#,Sql Server,Wpf,Entity Framework,Sql Server Ce,我正在使用SQL Server Compact。对于每个表,我都有一个包含MaxLength属性的配置 我运行Add Migration,它正确地生成了带有maxlength的create列字符串,但当我运行updatedatabase时,该列是使用NVARCHAR(MAX)创建的 为什么框架不尊重MaxLength属性?谢谢 请尝试在上下文的OnModelCreating部分中添加类似以下行的内容: modelBuilder.Configurations.Add(new TestConfigu

我正在使用SQL Server Compact。对于每个表,我都有一个包含MaxLength属性的配置

我运行Add Migration,它正确地生成了带有maxlength的create列字符串,但当我运行updatedatabase时,该列是使用NVARCHAR(MAX)创建的


为什么框架不尊重MaxLength属性?谢谢

请尝试在上下文的
OnModelCreating
部分中添加类似以下行的内容:

modelBuilder.Configurations.Add(new TestConfiguration());

我在这里看到的一切看起来都是对的。唯一与我不同的是,您使用的是SQL Compact Edition。也许这就是问题的根源?也许可以对常规SQL进行测试,看看它是否有效。SQL Server Compact没有nvarchar(max)数据类型-您在哪里看到这个?hi@ErikEJ我在使用LINQPadMaybe是一个LINQPad bug?我执行了SQL:ALTERTABLE Orders alter column Test NVARCHAR(100),并在表的描述中不断看到NVARCHAR(MAX)。
public class PlutoContext : DbContext
{
    public PlutoContext()
        : base("name=PlutoContext")
    {
        this.Configuration.LazyLoadingEnabled = false;
        Database.SetInitializer<PlutoContext>(null);
    }

    public virtual DbSet<Test> Tests { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Configurations.Add(new TestConfiguration());
    }
public partial class AddTest : DbMigration
{
    public override void Up()
    {
        CreateTable(
            "dbo.Test",
            c => new
                {
                   Test = c.String(nullable: false, maxLength: 100),
    }

}
modelBuilder.Configurations.Add(new TestConfiguration());