實體框架4返回鍵/主鍵實體框架4返回鍵/主鍵
我試圖找到一種方法,返回鍵/主鍵,而無需創建一個存儲過程來爲我做使用:
CREATE PROCEDURE [dbo].[UserRecords]
(
@Name varchar(10)
) AS
-- INSERT the new record
INSERT INTO MyTable (Name)
VALUES(@Name)
-- Now return the InventoryID of the newly inserted record
SELECT SCOPE_IDENTITY() AS ID
雖然Visual Studio 2010中我則使用添加功能導入從模型瀏覽器,並創建一個複雜類型。
然後雖然C#我使用下面的代碼來檢查它的工作。
SQL_DB_Entities DB= new SQL_DB_Entities();
var ReturnValue = DB.UserRecords("BOB").First();
Console.Write(ReturnValue.ID);
Console.Read();
我只是在尋找一種更好的方式返回ID也被不會很肯定IM引起的頭痛爲自己拉斯特上走下賽場。
如果您覺得這不是返回密鑰的最佳方式,請告訴我。
我已經嘗試過這種方式,但返回0
SQL_DB_Entities DB = new SQL_DB_Entities();
User UserObject = new User{Name = 「BOB」};
DB.AddToUserTable(UserObject);
DB.SaveChanges():
Int key = UserObject.ID;
Console.WriteLine(key.ToString());
我還要提到的是,db是主鍵不是我的申請後看。
從內存EF通常會選擇/返回插入的對象,包括PK。我不知道爲什麼你沒有得到它,如果這是明確獲得PK的正確方法。你爲什麼需要它? – JTew 2011-03-28 01:57:36
最後一個例子必須工作。如果它不是你配置錯誤的東西。 – 2011-03-28 06:58:24
@Ladislav和@Ben你的100%正確,非常感謝你的幫助。 – Ches 2011-03-28 11:44:28