您的位置:首页 > 编程语言 > C#

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();
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# linq 关系映射