Asp.NET IAutoMappingOverride问题设置长度

时间:2016-04-19 15:13:15

标签: c# asp.net automapping

我是Asp.Net的新手,并且在为我的实体的一个属性设置长度方面存在问题。

所以这是我的实体:

public class AccountData : Entity
{
    public virtual Account Account { get; set; }

    public virtual string Key { get; set; }

    public virtual string Value { get; set; }

    public virtual string Properties { get; set; }
}

我正在尝试将属性“Key”设置为“Varchar(250)”,因为目前它将它设置为Varchar(100):

public class AccountMetadataOverrides : IAutoMappingOverride<AccountData>
{
    public void Override(AutoMapping<AccountData> mapping)
    {
        mapping.References<Account>(k => k.Account, "AccountId").Nullable().Cascade.None();

        mapping.Map(x => x.Key).Column("`Key`").Not.Nullable();
        mapping.Map(x => x.Value).Column("`Value`");
        mapping.Map(x => x.Value).Length(1000);

        //Mapping length which is causing the issue
        mapping.Map(x => x.Key).Length(250);
    }
}

所以没有线:

 mapping.Map(x => x.Key).Length(250);

它将属性Key设置为Varchar(100),但使用此行时,它根本不会在数据库中设置此属性(它不会为其创建列)。

可以请任何人帮助我。

0 个答案:

没有答案