вставка нескольких данных в разные таблицы с использованием linq для объектов?

Я использую образец базы данных AdventureWorks в проекте. Я могу отобразить информацию о покупателе (будучи различным магазином) с помощью vStorewithDemographics. Это представление, извлекающее разные фрагменты данных из разных таблиц в базе данных.

Я хочу, чтобы моя программа вставляла нового клиента в базу данных, используя linq to entity, и я не знаю, как это сделать. Вставка в представление просто дает мне ошибки, которые, как я думал, произойдут, потому что это не таблица.

Любой способ сделать это?


person asunrey    schedule 20.04.2011    source источник


Ответы (1)


да, можно выполнить следующие шаги

--> Создайте триггер вместо триггера, и с его помощью вы можете его выполнить. Например, у меня есть две таблицы customer и customerContacts, последние содержат номер телефона клиента, а информация о клиенте имени просмотра отобразит все данные клиента, как показано ниже.

создать представление [dbo].[CustomerDetails] как выбрать c.*,cc.PhoneNumber от клиента c внутреннее соединение customerContact cc на c.CustomerId = cc.CustomerId

Для вставки создайте вместо триггера

Создать TRIGGER trgInsteadOfUpdate ON dbo.CustomerDetails

ВМЕСТО ВСТАВКИ

AS

Объявить @Id int

-- Вставить в Customer INSERT INTO customer SELECT CustomerName,CustomerAddress,State,Country FROM вставленный

Установите @Id = SCOPE_IDENTITY()

-- Вставьте в CustomerContact INSERT INTO customerContact SELECT PhoneNumber,@Id FROm вставлен

GO

Когда для вставки в linq я могу использовать любой из следующих двух способов

// Вставляем в поле зрения

var newCusContact = new CustomerDetail{ Country="India", CustomerAddress="bbb", CustomerName="Tested", PhoneNumber="7879654", State="Delhi" };

db.CustomerDetails.InsertOnSubmit(newCusContact);

БД.ОтправитьИзменения();

OR

string insertStatement = "вставить в CustomerDetails(CustomerName,CustomerAddress,State,Country,PhoneNumber) values('DummyValue','DummyValue','Дели','Индия','123459')";

db.ExecuteQuery (insertStatement);

БД.ОтправитьИзменения();

Надеюсь, это поможет вам

person Jatin Trikha    schedule 21.04.2011