2013-03-13 49 views
0

這樣做同樣的例子: http://weblogs.asp.net/manavi/archive/2011/04/24/associations-in-ef-4-1-code-first-part-4-table-splitting.aspx無法使用MySql Code First配置實體框架5中的關聯。

public class Order { 
    public int OrderId {get;set;} 
    public virtual OrderBilling Billing { get; set; } 
} 

public class OrderBilling { 
    public int OrderBillingId { get; set; } 
    public string Name { get; set; } 
} 

public DbSet<Order> Orders { get; set; } 
public DbSet<OrderBilling> OrderBilling { get; set; } 

public class OrderConfiguration : EntityTypeConfiguration<Order> { 
    public OrderConfiguration() { 
    HasRequired(o => o.Billing) 
     .WithRequiredPrincipal(); 
} 
} 

作品在Microsoft SQL完美的罰款。 但MySQL的執行時,它創建的表,然後在某個地方發生(我認爲應用FK的時候),這是拋出一個:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Order (OrderId) 
ON DELETE NO ACTION ON UPDATE NO ACTION' at line 3 

進出口使用連接器6.6.5和Entity Framework 5

是這是連接器的問題嗎?有辦法嗎?我應該添加一些MySql配置來支持這個嗎?提前致謝。

回答

0

問題是因爲使用Order作爲表名,而在SQL語句中有一個地方不使用'order'。

將表名更改爲SalesOrder,一切都開始無誤地工作。

相關問題