我使用VisualStudio 2015和SqlServerExpress2015。EF6主細節
我有3個表中的SQLExpress:
我startet在VisualStudio的2015年創建一個新的WPF Projetct 我添加了一個新項目 - Ado.NET實體數據模型 我選擇從EF設計數據庫
我得到這個模型。
我從交鋒對象 一個數據源,並添加了ProductBase作爲一個網格。 我還將Validation_Duration_Days和Validation_Aount添加爲編輯字段。
然後我國防部的follwoing編碼。
public partial class MainWindow : Window
{
CarWashFlatEntities2 context = new CarWashFlatEntities2();
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
System.Windows.Data.CollectionViewSource productBaseViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("productBaseViewSource")));
// Laden Sie Daten durch Festlegen der CollectionViewSource.Source-Eigenschaft:
context.ProductBase.Load();
productBaseViewSource.Source = context.ProductBase.Local;
}
private void button_Click(object sender, RoutedEventArgs e)
{
context.SaveChanges();
productBaseDataGrid.Items.Refresh();
}
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
base.OnClosing(e);
this.context.Dispose();
}
}
}
結果是,我可以添加BaseProducts。 我也可以更改數據庫中存在數據的持續時間或有效數量值。
我的問題: 當我在列表(productbase)中添加一行並在Vality_Amount文本框中輸入一些值時,這是行不通的。 我該怎麼做? 向ProductBase添加一個新行,並向具有相同ProductBaseID的ProductPrePaid添加一個新行。
這裏是我的模型: ProductBase.cs
public partial class ProductBase
{
public int ProductBaseID { get; set; }
public string Name { get; set; }
public virtual ProductFlatRate ProductFlatRate { get; set; }
public virtual ProductPrePaid ProductPrePaid { get; set; }
}
ProductFlatRate.cs
public partial class ProductFlatRate
{
public int ProductBaseID { get; set; }
public int Validity_Duration_Days { get; set; }
public virtual ProductBase ProductBase { get; set; }
}
ProductPrePaid.cs
public partial class ProductPrePaid
{
public int ProductBaseID { get; set; }
public int Validity_Amount { get; set; }
public virtual ProductBase ProductBase { get; set; }
}
對於初學者來說,不使用部分類爲您的模型,第2只是創建擁有所有這3類領域的又一Model類。 然後輸入其中的所有屬性,然後將它們添加到您的上下文中。 – Aizen
在您嘗試實現繼承時,您沒有將模型配置爲了解您的層次結構。參見[this](http://stackoverflow.com/questions/22263189/entity-framework-db-first-implement-inheritance/22263190#22263190)回答。 – Ashkan
它爲CodeFirst方法正確配置。但它是部分階級,它應該是一個具體的階級。 – Aizen