版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、En tity Framework Code First添加修改及删除外键关联实体1、添加外键关联实体1、添加新的 Province 及City实体using ( var ctx =newPortalCo ntext()var city1 =n ewCityCityNo =10010,;CityName =测试城市1;var city2 =n ewCityCityNo =10020,;CityName =测试城市2var province :=n ewPro vinceProvin ceNo =10000,;ProvinceName =测试省份”provi nce.Cities.Add(cit
2、yl); provin ce.Cities.Add(city2); ctx.Pro vin ces.Add(pro vin ce);ctx.SaveCha nges();代码运行所执行的 SQL语句:exec sp_executesql N insert dbo.Province(ProvinceNo,Provin ceName)values (0, 1)select Provi ncelDfrom dbo.Pro vin cewhere ROWCOUNT 0 and Provi ncelD = scope_ide ntity(),N0nvarchar(10),1 nvarchar(50),
3、0N10000 , =N 测试省份exec sp_executesql N insert dbo.City(ProvincelD, CityNo, CityName)values (0, 1, 2)select CitylDfrom dbo.Citywhere ROWCOUNT 0 and CityID = scope_ide ntity(),N0 in t,1nvarchar(10),2 nvarchar(50), 039, =N10010 , 2N 测试城市 1exec sp_executesql N insert dbo.City(ProvincelD, CityNo, CityName
4、)values (0, 1, 2)select CityIDfrom dbo.Citywhere ROWCOUNT 0 and CityID = scope_ide ntity(),N0 in t,1nvarchar(10),2 nvarchar(50), 039, =N10020 , 2N 测试城市 22、添加新的Province 实体及现有的City实体using ( var ctx =newPortalContext() var city1 =n ewCityCityNo =10010,CityName =测试城市1;var city2 =n ewCityCityNo =10020,Ci
5、tyName =测试城市2;var city3 = ctx.Cities.Fi nd( 36);var province = n ewPro vinceProvinceNo =10000,ProvinceName =测试省份;provi nce.Cities.Add(city1);provin ce.Cities.Add(city2);provin ce.Cities.Add(city3);ctx.Pro vin ces.Add(pro vin ce);ctx.SaveCha nges();exec sp_executesql N SELECTLimit1.CitylD AS CitylD,L
6、imit1.ProvinceID AS ProvinceID,Limit1.CityNo AS CityNo,Limit1.CityName AS CityNameFROM ( SELECT TOP (2)Extent1.CityID AS CityID,Exte nt1.Provi nceID AS Provi nceID,Extent1.CityNo AS CityNo,Exte nt1.CityName AS CityNameFROM dbo.City AS Extent1WHERE Exte nt1.CityID = p0)AS Limit1 ,Np0 int , p=36exec s
7、p_executesql N insert dbo.Province(ProvinceNo,Provin ceName)values (0, 1)select Provi nceIDfrom dbo.Pro vin cewhere ROWCOUNT 0 and Provi nceID = scope_ide ntity() ,N0 nvarchar(10),1 nvarchar(50), 0N10000 , =N 测试省份exec sp_executesql N update dbo.Cityset Provi nceID = 0where (CityID = 1),N0 int,1 int
8、, =40, =36exec sp_executesql N insert dbo.City(ProvinceID, CityNo,CityName)values (0, 1, 2)select CityIDfrom dbo.Citywhere ROWCOUNT 0 and CityID = scope_ide ntity(),N0 in t,1nvarchar(10),2 nvarchar(50), 040, =N10010 , 2N 测试城市 1exec sp_executesql N insert dbo.City(ProvinceID, CityNo, CityName)values
9、(0, 1, 2)select CityIDfrom dbo.Citywhere ROWCOUNT 0 and CitylD = scope_ide ntity(),N0 in t,1nvarchar(10),2 nvarchar(50), 040, =N10020 , 2N 测试城市 22、修改外键关联实体1、方式1using ( var ctx = newPortalContext()var city = ctx.Cities.Fi nd(40);var province = ctx.Pro vin ces. Find(10);city.Pro vince = provin ce;ctx.
10、SaveCha nges();翩代码运行所执行的 SQL语句:exec sp_executesql N SELECTLimit1.CitylD AS CityID,Limit1.ProvinceID AS ProvinceID,Limit1.CityNo AS CityNo,Limit1.CityName AS CityNameFROM ( SELECT TOP (2)Extent1.CityID AS CityID,Exte nt1.Provi nceID AS Provi nceID,Extent1.CityNo AS CityNo,Exte nt1.CityName AS CityNam
11、eFROM dbo.City AS Exte nt1WHERE Exte nt1.CityID = p0)AS Limit1 ,Np0 int , p=40exec sp_executesql N SELECTLimit1.ProvinceID AS ProvinceID,Limit1.ProvinceNo AS ProvinceNo,Limit1.Provi nceName AS Provi nceName FROM ( SELECT TOP (2)Exte nt1.Provi nceID AS Provi nceID,Exte nt1.Provi nceNo AS Provi nceNo,
12、Exte nt1.Provi nceName AS Provi nceNameFROM dbo.Provinee AS Extent1WHERE Exte nt1.Provi ncelD = p0)AS Limitl ,Np0 int , p=10 exec sp_executesql N update dbo.City set Provi ncelD = 0where (CitylD = 1),N0 int,1 int , =10, =402、方式2using ( var ctx =newPortalContext()var city = ctx.Cities. Find( 41);var
13、province = ctx.Pro vin ces. Find(10);provi nce.Cities.Add(city);ctx.SaveCha nges();方式2的实现方式与方式1的实现方式区别:在执行province.Cities.Add(city)时,会自动调用延迟加载,多执行一次从数据库中根据Provinee 关联获取City的SQL语句。exec sp_executesql N SELECTExtent1.CityID AS CitylD,Extent1.ProvincelD AS ProvincelD,Extent1.CityNo AS CityNo,Extent1.Cit
14、yName AS CityNameFROM dbo.City AS Exte nt1WHERE Exte nt1.Provi ncelD = En tityKeyValue1,NE ntityKeyValue1int , EntityKeyValue1 =103、方式3using ( var ctx =newPortalContext()var city = ctx.Cities.Fi nd( 42);var province = ctx.Pro vin ces. Find(10);city.Provi ncelD = provin ce.Pro vin celD;ctx.SaveCha ng
15、es();方式3与方式1在代码运行之后所执行的SQL语句是一样的。3、删除外键关联实体示例:对外键允许为空的外键表记录删除引用,在City表中外键ProvinceID弓I用Province表,并允许为空。using ( var ctx =newPortalContext()var city = ctx.Cities.Fi nd( 42);ctx.E ntry(city).Refere nce(c = c.Pro vin ce).Load();city.Province =null ;ctx.SaveCha nges();代码运行所执行的 SQL语句:1exec sp_executesql N
16、SELECT Limit1.CitylD AS CityID, Limit1.ProvinceID AS ProvinceID, Limit1.CityNo AS CityNo, Limit1.CityName AS CityName FROM ( SELECT TOP (2)Extent1.CityID AS CityID,Exte nt1.Provi nceID AS Provi nceID,Extent1.CityNo AS CityNo,Exte nt1.CityName AS CityName FROM dbo.City AS Exte nt1 WHERE Exte nt1.CityID = p0)AS Limit1 ,Np0 int , p=42副exec sp_executesql N SELECTExtent1.ProvinceID AS ProvinceID,Exte nt1.Provi nceNo AS Provin ceNo,Exte nt1.Provi nceName AS Provi nceName FROM dbo.Provi nee AS Exte nt1,NE ntityKeyValuelWHERE Exte nt1.Provi ncelD = En tityKeyValuel int , EntityKeyValuel =10exec sp_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建泉州工程职业技术学院招聘39人笔试参考题库及答案解析
- 2026黑龙江牡丹江宁安市普爱医院招聘4人笔试参考题库及答案解析
- 化学工业的地位、作用及发展教学设计中职专业课-化学工艺-分析检验技术-生物与化工大类
- 第3课 清洗小件衣物教学设计小学劳动小学中年级湘教版(广西)
- 2026湖北武汉市汉阳区三甲综合性公立医院招聘笔试模拟试题及答案解析
- 2026广东佛山南海区桂城叠翠华文幼儿园招聘主班教师岗位2人笔试备考试题及答案解析
- 2026年昆明佳湖房地产开发有限公司校园招聘考试参考试题及答案解析
- 2026广东韶关市新丰县医共体招聘专业技术人员30人(编制)笔试备考题库及答案解析
- 2026广西南宁市兴宁区兴东社区卫生服务中心外聘人员招聘1人笔试备考题库及答案解析
- 高中数学选择性必修二 第四章 数列(章末复习)单元复习全面过 教案
- 决胜未来:中美六大未来产业演进图景
- 2026湖南省博物馆编外工作人员公开招聘笔试备考试题及答案解析
- ivd行业市场分析2026报告
- 创建鲁班奖工程实施指南
- 2026四川成都双流区面向社会招聘政府雇员14人备考题库带答案详解
- 2026万基控股集团有限公司招聘50人笔试模拟试题及答案解析
- 2025版建筑工程建筑面积计算规范
- 2026江苏省人民医院行风监督处管理辅助岗招聘1人考试备考题库及答案解析
- 2026一季度重庆市属事业单位公开招聘242人参考考试试题及答案解析
- 2026年社会学概论试题库200道附答案【能力提升】
- 志愿服务与社区建设:共建共治共享的基层治理新实践
评论
0/150
提交评论