首页 > 编程知识 正文

数据库技术项目化教程(基于MySQL),ef生成数据库模型

时间:2023-05-06 17:53:42 阅读:38440 作者:663

一.关于表格的编制,以及表格与表格的关系、关系逻辑规范等。 1 .如果EF的int类型是主键,则在特殊情况下EF会自动将该字段识别为int类型,并且生成的SQL语句中不会显示该字段。

解决方法:向增加的int字段添加特性: [Key,database generated (databasegeneratedoption.none ) ]

公共类dessed { [ key,database generated (databasegeneratedoption.none ) ]publicintIDD ) get; set; (stringlength(50 ) )公共字符串名称) get; set; }如果有其他字符串作为主键,则可以有int。 ()可以有int类型,但与必须声明其他变量为key相同。 否则,int型为key时,请按上述。 )

publicclassdessed//[数据库生成(databasegeneratedoption.none ) ]公共int IDD ) get; set; }[key][stringlength(50 ) ]公共字符串名称{ get; set; }2.表格之间的一对一、一对多及多对多的关系//1 .表格之间的一对一关系publicclassstudentaddress { [ foreign key (student ) ]publicintstudentaddressid 公共字符串地址{ get; set; }公共稳定稳定{ get; set; }公共类student { public int student id { get; set; }公共字符串student name { get; set; } publicstudentaddressstudentaddress { get; set; } }//2.一对多的关系publicclassstudentaddress { publicintstudentaddressid { get; set; 公共字符串地址{ get; set; } publicicollectionstudentstudents { get; set; }公共类student { public int student id { get; set; }公共字符串student name { get; set; } publicstudentaddressstudentaddress { get; set; } }//3.多对多的关系publicclassstudentaddress { publicintstudentaddressid { get; set; 公共字符串地址{ get; set; } publicicollectionstudentstudents { get; set; }公共类student { public int student id { get; set; }公共字符串student name { get; set; } publicicollectionstudentaddressstudentaddresses { get; set; )二.关于数据库的添加、删除、修改等读取操作1。

一、咨询1.varallstudents=MD.students.where (s=s.id=1); foreach (varstudentinallstudents ) console.writeline ) student.id ); }2. varresult=db.t _ department.select (s=s ).ToList ); 3.using(model1db=newmodel1() )/db.database.log=console.writeline; 如何检测事务打开//var query=db.de.where (s=s.IDD=3); //varquery=db.de.select(I=I ); varquery=db.de.where(I=I.IDD3).orderby descending (I=I.name ) /降序、order by升序、有无. ToList ); string s1=' '; Foreach(varstudentinquery )//console.writeline ) student.IDD ); s1=s1 student.idd ' ' student.name; }messagebox.show(S1; (二、1.using (testentitiesdb=new test entities ) )/1 .创建db context对象({ t _ user usr=new ef test.t _ u u u u u u user ) ) //2.add (调用方法插入并将添加的数据作为实体模型的对象,如user ); }2. db.de.add (新建) { idd=2,name='呃' } ); 3 .修改1.varstu=MD.students.where (s=s.id==3).SingleOrDefault ); stu.Name='傻小子'; stu.Age=12; md.SaveChanges (; 2.varresult=db.t _ user.firstordefault (s=s.uid==4); result.uName='哈哈哈'; db.SaveChanges (; 四、删除1.vargetstu=MD.students.where (s=s.id==2).SingleOrDefault ); MD.students.remove(getstu ); md.SaveChanges (; Console.WriteLine ('删除成功!' ); 2.//第一个//var item=db.de.FirstOrDefault (删除//db.de.remove(item ) ); db.SaveChanges (; 3.varresult=db.t _ user.firstordefault (s=s.uid==4); //remove ()仅指定要删除的一个对象(如果查询结果可能是多个记录,则为FirstOrDefault ) )中的第一个db.t _ user.remove (result ); //参数必须是对象,集合1.EF查询表中字段的最大值varshowidmax=db.user.select (s=s.showid ).max ); 2.sql语句,两个字段string query=' select * fromjtgc 20 _ 2011 _ a 5100 p2 _ basic _ propertieswhereproject _ id=' project 引用EF查询语句:

使用EF框架添加和删除数据库重新评估_TuTuTu_Tu博客-CSDN博客

使用ADO.NET实体数据模型-白菜园哦-博客园

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。