В контексте Silverlight RIA с использованием DomainContext и, код выглядит следующим образом:
private void AddProductButton_Click(object sender, RoutedEventArgs e)
{
var target = (Web.LocatorProduct)((IEditableCollectionView)ProductSource.DataView).AddNew();
target.Locator = LocatorID;
target.Product = NewProduct.Text.ToUpper();
((IEditableCollectionView)ProductSource.DataView).CommitNew();
}
Выдает исключение ArgumentNullException в AddNew (), CreateIdentity () далее вверх по стеку (сгенерированный метод) из-за того, что product имеет значение null. Product и LocatorID являются, в сочетании, первичным ключом.
Я предполагаю, что EF не позволяет мне создавать новый элемент без соблюдения ограничений базы данных? Как это имеет смысл, если мне нужно получить первичный ключ от пользователя?
У меня есть контроль над всеми уровнями приложения, поэтому при необходимости также приветствуются предложения по проектированию базы данных.