0

私はasp.net mvc 4 Web APIに取り組んでいます。既存のデータベース モデルで最初にコードを使用しています。データベースに単一のテーブルがあるため、次のようなエンティティ クラスがあります。

public class Tab1
{
[Key]
public int Field1{get; set;}
public string Field2{get; set;}
}

次のような DBContext ファイルがあります。

public class MyDBContext:DbContext
{
public DbSet<Tab1> Table{ get; set; }

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
           modelBuilder.Entity<Bar>().ToTable("bars");
        }
}

私の Get Action は次のようなものです

 public List<Bar> GetTables()
            {
               MyDBContext context=new MyDBContext();
                return context.Table.ToList();
            }

しかし、エラーSchema specified is not valid error 0064: Facet 'MaxLength' must not be specified for type 'mediumtext' が表示されます。. そのため、プロセスで間違いを犯した場合はご案内ください。

ここに、次のようなクラスがもう1つあります

public class Tab2:Tab1
{
public string Filed3{get; set;}
}

カスタムレコードを返すためにtab2クラスを使用したため、tab2を使用してデータベースにテーブルを作成したくありません。クラスtab2を削除すると、通常どおり動作するTab2がtab1から継承されるため、上記のエラーが発生しました。だから私を導いてください。

4

1 に答える 1

0

モデルに「Tab2」クラスを導入したときにのみ問題が発生し、「Tab2」をデータベースに保存したくない場合は、[NotMapped] で「Tab2」クラスに注釈を付けてください。属性を使用するか、流暢な構成 ModelBuilder.Ignore を使用します。

于 2013-03-01T23:29:00.943 に答える