2011-04-20 98 views
0

我在項目中使用AdventureWorks示例數據庫。我可以使用vStorewithDemographics顯示客戶(作爲各種商店)的信息。這是一個從數據庫中的不同表中檢索不同數據的視圖。使用linq將多個數據插入到不同的表中?

我想我的程序使用linq將實體插入到數據庫中的新客戶,我不知道如何去做這件事。插入視圖只是給我錯誤,我認爲會發生,因爲它不是一張桌子。

有什麼辦法可以解決這個問題?

回答

1

是有可能跟隨以下步驟

- >創建INSTEAD OF觸發器,並使用它,你可以執行它 例如,我有兩個表的客戶和customerContacts後者包含客戶和視圖的電話號碼名稱客戶詳細信息將帶來客戶的所有細節如下

創建視圖[dbo]。[CustomerDetails] as 從客戶c選擇c。*,cc.PhoneNumber內部聯接customerContact cc on c.CustomerId = cc。 CustomerId

用於插入有創造,而不是觸發

CREATE TRIGGER trgInsteadOfUpdate ON dbo.CustomerDetails

INSERT INSTEAD OF

AS

申報@Id詮釋

- 插入客戶 INSERT INTO客戶選擇CustomerName,CustomerAddress,State,Country FROM插入

Set @id = SCOPE_IDENTITY()

- 插入CustomerContact INSERT INTO customerContact SELECT ******中國,@ ID FROM插入

GO

當在LINQ我可以用戶插入任何的如下兩種方式

//插入視圖

VAR newCusContact =新爲CustomerDetail {國家= 「印度」,CustomerAddress = 「BBB」,客戶名稱= 「測試」,******中國= 「7879654」,國家= 「德里」};

db.CustomerDetails.InsertOnSubmit(newCusContact);

db.SubmitChanges();

OR

串insertStatement = 「插入爲CustomerDetails(客戶名稱,CustomerAddress,省,國家,******中國)VALUES( 'DummyValue', 'DummyValue', '德里', '印度', '123459')」 ;

db.ExecuteQuery(insertStatement);

db。的SubmitChanges();

希望這可以幫到你

相關問題