0
我有一個有三個表的數據庫。 另外我有一個datagrid顯示兩個實體(表)的幾個屬性。 要從兩個表中選擇信息,我使用可正常工作的存儲過程。 我想選擇這個數據網格中的一行,並按下一個按鈕,這將被添加到數據庫中的第三個表中。另一個按鈕應該是顯示實體的全部信息(所有屬性)。 我不知道如何處理ChosenBooksAuthors後的X - 它應該是BookID的X,但我無法達到它,我該怎麼辦?如何將選定的行添加到表中? XAML:如何將選定的行從datagrid添加到數據庫?
<Canvas>
<DataGrid CanUserAddRows="False" x:Name="Info" SelectedItem="{Binding Path=ChosenBooksAuthors}" ItemsSource="{Binding Path=Bookslist}" Background="Honeydew" Canvas.Top="190" Canvas.Left="38" Width="297" Height="105" ></DataGrid>
</Canvas>
C#:
private List<Book> _VMBooksAuthors = new List<Book>();
public List<Book> ChosenBooksAuthors
{
get
{
return _VMBooksAuthors;
}
set
{
_VMBooksAuthors = value;
OnPropertyChanged("ChosenBooksAuthors");
}
}
private void BasketButton_Click(object sender, RoutedEventArgs e)
{
Basket b = db1.BasketSet.Where(c => c.BookID == ChosenBooksAuthors.X).FirstOrDefault();
db1.BasketSet.Add(b);
db1.SaveChanges();
}
如果我有一個檢查站檢查,然後我看到,在db1.BasketSet.Add(B); b = null 但在前一行它需要屬性 –
現在everyting是好的,所有數據存在,但當我寫這個:db1.SaveChanges(); 它拋出 System.Data.Entity.Validation.DbEntityValidationException –
檢查消息的內部異常。可能是你試圖添加一個存在或缺少必需字段的密鑰。 –