6.
Set FK Value through Entity Ref<br />from Single EntityKey Property<br />Order.CustomerReference.EntityKey =<br /> new EntityKey("MyEntities.Customers", "PersonID", 1)<br />from Multiple EntityKey Properties<br />vareKeyValues =<br /> new KeyValuePair<string, object>[] {<br /> new KeyValuePair<string, object>(“PropertyA", 12),<br /> new KeyValuePair<string, object>(“PropertyB", 103)<br /> };<br />EntityKey ekey= new EntityKey(“MyEntities", eKeyValues);<br />instance.EntityRef.EntityKey=ekey;<br />
7.
V1: Undesirable Store Queries<br />LINQ to Entities Query<br />From p In context.PeopleWhere p.LastName.StartsWith(“K")<br />Resulting T-SQL Query<br />SELECT [Extent1].[PersonID] AS [PersonID], ...<br />WHERE (CAST(CHARINDEX(N'T', Extent1].[LastName])<br /> AS int)) = 1<br />!<br />
8.
Control Store Query with ESQL<br /> Entity SQL<br />SELECT VALUE p FROM EFEntities.People AS p<br />WHERE p.LastName LIKE “T%”<br />Query Builder Methodscontext.People.Where("it.LastName LIKE 'T%'")<br /> Resulting T-SQL<br />SELECT [Extent1].[PersonID] AS [PersonID], <br />WHERE [Extent1].[LastName] LIKE 'T%'<br />
9.
Queries in Entity Framework 4<br />Huge improvements to generated queries<br />Contains added to LINQ to Entities & ESQL<br />StartsWith, EndsWith,Contains LIKE %%<br />Much More..<br />See blogs.msdn.com/adonet<br />August 5, 2009 post<br />
10.
Awesome Third Party Tools<br />LINQPad<br />Test Queries<br />LINQ, L2S, L2E, ESQL<br />EFProf<br />Capture *All* <br />Database Activity<br />
11.
V1: Random columns from Sprocs<br />CREATE PROCEDURE OrdersBySalesPersonbyDate<br />AS<br />SELECT MIN(Person.FirstName) as First, <br /> MIN(Person.LastName) as Last,<br /> COUNT(OrderId) as OrderCount<br />FROM …<br />Requires lots of manual editing of the model, MSL and SSDL to create an entity that matches the return value<br />!<br />
12.
Use Views in Place of Sprocs<br />CREATE VIEW OrdersBySalesPersonbyDate<br />AS<br />SELECT MIN(Person.FirstName) as First, <br /> MIN(Person.LastName) as Last,<br /> COUNT(Orderid) as OrderCount<br />FROM …<br />Wizard creates all entity metadata elements <br />Other benefits<br />View is composable<br />Use in queries<br />Change Tracking (use stored procs for Ins/Upd/Del)<br />
13.
Stored Procs in Entity Framework 4<br />Major support improvements<br />Map functions to complex types<br />Designer can discover result shapes and auto-create the complex types for you<br />
26.
Summary <br />Some of the big EFV1 pain points are gone in EF4<br />Don’t ignore the power of Entity SQL<br />Dig into the APIs to leverage the real power of EF<br />