zoukankan      html  css  js  c++  java
  • Linq to Sql 自定义实体类带关系映射

     表T_Person: 学生表   有一个外键关键班级表

     表T_Class:班级表

      [Table(Name = "T_Class")]

         public class Class
         {
             private int _classid;
             private string _classname;
             private EntitySet<Person> _persons;
             [Column(IsPrimaryKey=true)]
             public int ClassTypeID
             {
                 get { return _classid; }
                 set
                 {
                     if (_classid != value)
                         _classid = value;
                 }
             }
             [Column]
             public string ClassName
             {
                 get { return _classname; }
                 set 
                 {
                     if (_classname != value)
                         _classname = value;
                 }
             }
             [Association(Storage="_persons",OtherKey="ClassTypeID")]
             public EntitySet<Person> Persons
             {
                 get { return _persons; }
                 set
                 {
                     this._persons.Assign(value);
                 }
             }
         }

     班级表里面做了一个一对多的关联,就是根据班级ID才获取这个班级下面有多少学生

     [Table(Name = "T_Class")]
         public class Class
         {
             private int _classid;
             private string _classname;
             private EntitySet<Person> _persons;
             [Column(IsPrimaryKey=true)]
             public int ClassTypeID
             {
                 get { return _classid; }
                 set
                 {
                     if (_classid != value)
                         _classid = value;
                 }
             }
             [Column]
             public string ClassName
             {
                 get { return _classname; }
                 set 
                 {
                     if (_classname != value)
                         _classname = value;
                 }
             }
             [Association(Storage="_persons",OtherKey="ClassTypeID")]
             public EntitySet<Person> Persons
             {
                 get { return _persons; }
                 set
                 {
                     this._persons.Assign(value);
                 }
             }

         }

    这里做了一个多对一的关联 关联班级对象,用于查询班级的名称或其他信息

     Table<Person> Pers = DB.GetTable<Person>();
                 foreach (var v in Pers)
                     Console.WriteLine(v.Class.ClassName);
                 Table<Class> Class=DB.GetTable<Class>();
                 foreach (var v in Class)

                     Console.WriteLine(v.Persons.Count); 

    以上是使用方法 

  • 相关阅读:
    软考估分
    极限编程(XP)12个最佳实践
    常见符号的英文读法
    又一道信号量的问题--做多了就容易错
    一道信号量前驱图的题目--有技巧
    信号量计算问题--n个进程, 共享3个资源, 当前信号量为-1, 其他进程继续执行P操作, 那么信号量应该继续减
    一道信号量的问题---卖火车票
    一道关于信号量的问题
    一道关于信号量的题目
    C语言int型数据范围
  • 原文地址:https://www.cnblogs.com/Rmeo/p/2700094.html
Copyright © 2011-2022 走看看