代码优先格式化标识列

时间:2015-07-30 14:36:57

标签: sql-server entity-framework ef-code-first code-first calculated-columns

我使用ASP.NET MVC与Entity Framework Code First和SQL Server 2014数据库。

我想创建一个'客户'具有自动增量主键的表,其格式如下:CLI-X其中X是自动增量号。

以下是我的尝试:

public class Customer
{
    public int CustomerId { get; set; }
    public string CustomerNumber
    {
        get
        {
            return "CLI-" + CustomerId;
        }
        set { }
    }
    public string Name { get; set; }
}

public class CustomerMapping : EntityTypeConfiguration<Customer>
{
    public CustomerMapping()
    {
        // Auto incrément ID
        HasKey(x => x.CustomerId);
        Property(x => x.CustomerId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

        // Set CLI-ID as PK
        Property(x => x.CustomerNumber).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
    }
}

不幸的是,专栏&#39; CustomerNumber&#39;当我创建新客户时,in在数据库中为空。我希望自动格式化此列,而不是每次创建新客户时自己创建。

所以我的问题是:我怎样才能在EF代码中首先使用带有字符串前缀的自动增量主键?

0 个答案:

没有答案