2012-10-26 55 views
0

我正在asp.net mvc 4 web api上工作。我先用現有的數據庫模型使用代碼。我有一個表在我的數據庫,所以我有實體類一樣,架構不支持asp.net mvc 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"); 
     } 
} 

和我取得動作就像是

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

但我收到錯誤指定的模式無效錯誤0064:不得爲typetext'指定facet'MaxLength'。。所以請指導如果我在這個過程中犯了什麼錯誤。

這裏我還有一個類像

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

我不想與TAB2數據庫中創建表,因爲我用TAB2類返回定製記錄。我得到了上面的錯誤,由於Tab2繼承自tab1,當我刪除類tab2它像往常一樣工作。所以請指導我。

+0

如果你使用mysql似乎是一個相關的問題在這裏:http://stackoverflow.com/questions/8700497/class-inheritance-with-net-ef4-1-mysql –

回答

0

如果問題只是在模型中引入「Tab2」類時引起的,而您並不是真的想要將「Tab2」存儲在數據庫中,那麼您爲什麼不用「註釋」類「Tab2」 [NotMapped]屬性或使用流暢配置ModelBuilder.Ignore。