У меня 2 стола. например: один из них предназначен для хранения пользователей, а другой - для хранения заказов. Таблица заказов, содержащая UserId в качестве внешнего ключа. Я использую Linq 2 Sql для операций доступа к данным. Я хочу вставить заказ без вставки строки пользователя, если пользователь уже существует в базе данных.
Как я могу это сделать?
Заранее спасибо,
Изменить: вот код, с которым у меня проблемы:
try
{
context.SocialEntities.InsertOnSubmit(entity);
context.SubmitChanges();
}
catch (Exception ex)
{
if (ex.Message.Contains("UserUniqueness"))
{
User user = context.Users.Where(u => u.SourceUserID == entity.User.SourceUserID).FirstOrDefault();
if (user != null)
{
user.SocialEntities.Add(entity);
context.SubmitChanges();
}
}
}
UserUniqueness — это уникальное ключевое ограничение, определенное в таблице User для столбца с именем SocialSourceId. И это не первичный ключ.
SubmitChanges
. 17.05.2011