Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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# 4.0 在.NETFramework4.0中,如何通过代码优先的方法在实体框架中给出表名?_C# 4.0_Entity Framework 6 - Fatal编程技术网

C# 4.0 在.NETFramework4.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() { // //

在.NET4.0框架中,
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,但它不在参考库中。您可以查看