实体框架代码首先 - 确定数据类型

时间:2014-11-07 15:23:58

标签: c# entity-framework

我使用代码优先方法学习Entity Framework。以下面的例子为例,说我有一个班级Employee

public class employee
{
    public int id{ get; set; }
    public string fName { get; set; }
    public string lName { get; set; }
    public string email { get; set; }
}

它将使用NVARCHAR(MAX) stringint int自动创建表格。

如何控制数据库中创建的data typedata size? (例如,我想使用CHAR(20)而不仅仅是NVARCHAR(MAX)?)

2 个答案:

答案 0 :(得分:3)

尝试以下方法:

    public class TestContext : DbContext
    {
        public DbSet<employee> Employees { get; set; }

        protected override void OnModelCreating(DbModelBuilder mb)
        {
            mb.Entity<employee>()
                .Property(i => i.fName)
                .HasColumnType("char")
                .HasMaxLength(20);

            base.OnModelCreating(mb);
        }
    }

答案 1 :(得分:1)

您可以使用Code First Data Annotations,也可以使用流畅的api。我绝对更喜欢。

对于流畅的api,请看一下here。 或here以获得更简单且有效的stackoverflow示例; - )。