linq关系映射(1)
2013-09-26 00:06
211 查看
C#的这种entity 很像Annotation java的写法..
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Linq; using System.Data.Linq.Mapping; namespace LinqObject.models { [Table(Name = "Player")] public class PlayerInfoVO { private string name; [Column(Name="name")] public string Name { get { return name; } set { name = value; } } private int id; [Column(IsPrimaryKey=true,Name="id")] public int Id { get { return id; } set { id = value; } } private int level; [Column(Name = "level_id")] public int Level { get { return level; } set { level = value; } } private EntityRef<MyLevel> _myLevel; [Association(Storage="_myLevel",ThisKey="level_id")] public EntityRef<MyLevel> _MyLevel { get { return _myLevel; } set { _myLevel = value; } } } }主表:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Linq; using System.Data.Linq.Mapping; namespace LinqObject.models{ [Table(Name="myLevel")] public class MyLevel{ private int id; [Column(IsPrimaryKey=true,Name="id")] public int Id { get { return id; } set { id = value; } } private string name; [Column(Name="name")] public string Name { get { return name; } set { name = value; } } private EntitySet<PlayerInfoVO> player; [Association(Storage = "player", OtherKey = "Id")] public EntitySet<PlayerInfoVO> Player { get { return player; } set { player = value; } } } }删除 操作 :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using LinqObject.models; namespace LinqObject.mylinq{ public class ConflictLinq{ public void updatePlayer(int id, string name) { AINYLinq db = new AINYLinq(@"Data Source=AONAUFLY\SQLEXPRESS;Initial Catalog=MyLINQ;User ID=sa;Password=******"); IQueryable<MyLevel> myList = from o in db.myLevel where o.Id == 0 && o.Name == "Aonaufly" select o; foreach (var o in myList) { Console.WriteLine("Ainy------------------------"); db.myLevel.DeleteOnSubmit(o); } Console.WriteLine("detail section finished."); Console.ReadLine(); if (myList.Any()) { Console.WriteLine("The parent is presesnt in the Orders collection."); try { var ordF = (from o in db.myLevel where o.Id == 0 select o).First(); db.myLevel.DeleteOnSubmit(ordF); Console.WriteLine(ordF.Name); } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } } else { Console.WriteLine("There was no parent in the myLevel"); } try { db.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } } } }
相关文章推荐
- 光脚丫学LINQ(031):开篇及一对多映射关系的再学习
- 光脚丫学LINQ(022):在关系设计器中创建映射到存储过程的函数
- 光脚丫学LINQ(033):建立映射关系的两个实体类必须分别包含一个主键列成员
- LINQ中实现对象Many-To-Many(多对多)的关系映射
- 光脚丫学LINQ(031):开篇及一对多映射关系的再学习
- 光脚丫学LINQ(034):映射关系的定义推测之ThisKey
- Hibernate映射组成关系简析
- Hibernate映射解析——七种映射关系
- Linq TO SQL中映射属性的说明
- Hibernate中的one2one的单双向关系映射
- Hibernate逍遥游记-第3章对象-关系映射基础-access="field"、dynamic-insert、dynamic-update、formula、update=false
- 对象-关系映射ORM(Object Relational Mapping)(转)
- ORM对象关系映射之使用GreenDAO进行CRUD操作
- 【SSH 基础】Hibernate继承关系映射
- 详谈Hibernate框架关系映射!
- 【MyBatis】的高级关系映射和查询缓存详解
- JPA实体关系映射之注释
- XML和关系数据----从XSD架构创建数据集映射
- Hibernate_day03讲义_使用Hibernate完成多对多的关系映射并操作
- struts.xml文件定义Action处理结果与视图资源之间的映射关系