да, можно выполнить следующие шаги
-> Создать вместо триггера и использовать его, вы можете выполнить его
Например, у меня есть две таблицы customer и customerContacts, последние содержат номер телефона клиента, а представление имени клиента предоставит всю информацию о клиенте, как показано ниже
создать представление [dbo]. [CustomerDetails] как
выберите c. *, cc.PhoneNumber из клиента c внутреннее присоединение customerContact cc on c.CustomerId = cc.CustomerId
Для вставки необходимо создать вместо триггера
Создать TRIGGER trgInsteadOfUpdate ON dbo.CustomerDetails
ВМЕСТО ВСТАВКИ
AS
Объявление @Id int
- вставить в клиента
ВСТАВИТЬ В ВЫБОР ПОЛЬЗОВАТЕЛЯ ВЫБЕРИТЕ 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); * * тысяча тридцать-один
* +1032 * db.SubmitChanges ();
OR
string insertStatement = "вставить в значения CustomerDetails (CustomerName, CustomerAddress, State, Country, PhoneNumber) ('DummyValue', 'DummyValue', 'Delhi', 'India', '123459')";
db.ExecuteQuery (insertStatement); * 1 039 *
* +1040 * db.SubmitChanges ();
Надеюсь, это поможет вам