C# 4.0 在.NETFramework4.0中,如何通过代码优先的方法在实体框架中给出表名?
在.NET4.0框架中,C# 4.0 在.NETFramework4.0中,如何通过代码优先的方法在实体框架中给出表名?,c#-4.0,entity-framework-6,C# 4.0,Entity Framework 6,在.NET4.0框架中,System.ComponentModel.DataAnnotations.Schema不起作用或者我认为不支持 我使用的是代码优先的方法,并且我的数据库已经存在,而且也没有使用ADO.net实体数据模型 我已经使用了[Table]属性和DatabaseGenerated属性,它不起作用,导致出现编译错误 这是我的代码: 实体类: public class myclass { public myclass() { // //
System.ComponentModel.DataAnnotations.Schema
不起作用或者我认为不支持
我使用的是代码优先的方法,并且我的数据库已经存在,而且也没有使用ADO.net实体数据模型
我已经使用了[Table]
属性和DatabaseGenerated
属性,它不起作用,导致出现编译错误
这是我的代码:
实体类:
public class myclass
{
public myclass()
{
//
// TODO: Add constructor logic here
//
}
[Key]
public int RECORDID { get; set; }
public string AA { get; set; }
public string CAT { get; set; }
public string CS { get; set; }
public int? FS { get; set; }
public int? CA { get; set; }
public int? DR { get; set; }
public int? UM { get; set; }
public int? ID { get; set; }
public double LAT { get; set; }
public double LON { get; set; }
public int? NIC { get; set; }
}
DbContext
class:
public class classContext : DbContext
{
public classContext() : base("name=DBConnection")
{
//Disable initializer
Database.SetInitializer<classContext>(null);
}
public DbSet<myclass> myclasses { get; set; }
}
公共类classContext:DbContext
{
public classContext():base(“name=DBConnection”)
{
//禁用初始值设定项
Database.SetInitializer(null);
}
公共DbSet myclasses{get;set;}
}
或者我必须添加这个模型创建的覆盖方法,它是否有用
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<myclass>().ToTable("Datatbl");
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
modelBuilder.Entity().ToTable(“Datatbl”);
}
帮帮我。谢谢您可以在类上使用表属性:
[Table("Datatbl")]
public class myclass
{
}
#manoj:table属性使用System.ComponentModel.DataAnnotations.Schema命名空间,或者我使用的是4.0是,它使用的是System.ComponentModel.DataAnnotations.Schemabut,但它不在参考库中。您可以查看