

既にあるDBのtable名が"mytable"だとして、次のように属性つけていますが認識してくれません。  
どうすればいいでしょうか？

Hoge.cs

[code]

    [Table("mytable")]
    public class Hoge {
    ...
    }
    
[/code]

MyDbContext.cs

[code]

    public class MyDbContext : DbContext {
    public DbSet<Hoge> Hoge { get; set; }
    ...
    }
    
[/code]

Startup.cs

[code]

    services.AddDbContext<MyDbContext>();
    
[/code]

内部例外

[code]

    Table 'mydatabase.hoge' doesn't exist
    
[/code]


CC BY-SA 3.0
2017-05-02T04:30:08.790
34413
2021-03-29T23:02:35.223
2017-05-02T05:23:20.523
5750
22913
question
c# entity-framework
Entity Framework Core 1.1 で[Table]属性が効かない？


二つしか思い当たりませんが、

1つ目は、DbContextのOnModelCreatingメソッドで、

[code]

    modelBuilder.Entity<Hoge>().ToTable("Hoge");
    
[/code]

のようなコードを入いれている可能性。  
こちらの方が優先されるので、ToTableは削除する必要があります。

2つ目は、Hoge.csで誤ったTable属性を使っている可能性。

[code]

    using System.ComponentModel.DataAnnotations.Schema;
    
[/code]

Table属性は↑のを使用していますでしょうか？


CC BY-SA 3.0
2017-05-02T04:53:10.693
34414
2017-05-02T04:53:10.693
20991
34413
answer