// 方式一:指定外鍵值
var p = new Product { ProductCategoryID = 18, ... };
ctx.Products.AddObject(p);
ctx.SaveChanges();
// 方式二:指定導航屬性物件
var p = new Product { ProductCategory = ctx.ProductCategories.Single(c=>c.ID==18), ... };
ctx.SaveChanges(); // 無需手動 AddObject,關聯端自動處理
var name = ctx.Customers.First().Name; // Name 為複雜類型
var cust = ctx.GetCustomer().First(); // 存儲過程映射類型
EDM 設計器:新增兩實體 → 建立 1:1 關聯 → 雙擊關聯線編輯約束指定主/從表與主鍵。
var log = ctx.ErrorLogs.First();
log.ErrorLogExtReference.Load();
Console.Write(log.ErrorLogExt.ErrorMessage);
EntityFunctions / SqlFunctions 對應 SQL 函數(如 DateDiff)。Single() 擴充方法。[EdmFunction] 映射至 SQL UDF。[EdmFunction("Model.Store", "ufnGetFullName")]
public static string GetFullName(string first, string middle, string last)
{ throw new NotSupportedException("僅限 LINQ 運算式"); }
[assembly: EdmSchemaAttribute()])。context.ContextOptions.DeferredLoadingEnabled = true (預設開啟)。context.LoadProperty(entity, "NavProp") 或 context.LoadProperty(entity, e => e.NavProp)(強型別避免拼字錯誤)。EF 4.0 大幅補強了 3.5 版的缺口,特別是外鍵、POCO、Model-First 與 T4 客製化,奠定了現代 .NET 資料存取框架的基石。