linq to sql 继承

问题描述

1:描述欲将全部公共属性抽取出建成Item如下publicabstractclassItem:IItem{[Column(IsPrimaryKey=true,Name="id")]publicGuidId{get;set;}[Column(Name="name")]publicstringName{get;set;}[Column(Name="enable")]publicboolEnable{get;set;}[Column(Name="times")]publicDateTime?Times{get;set;}[Column(Name="syn")]publicboolSyn{get;set;}}2:建立年级实体如下[Table(Name="Base_grade")]publicclassGrade{[Column(IsPrimaryKey=true,Name="id")]publicGuidId{get;set;}[Column(Name="name")]publicstringName{get;set;}[Column(Name="enable")]publicboolEnable{get;set;}[Column(Name="times")]publicDateTime?Times{get;set;}[Column(Name="orgid")]publicGuidOrgId{get;set;}[Column(Name="remark")]publicStringRemark{get;set;}[Column(Name="schooltypeid")]publicGuidSchoolTypeId{get;set;}}执行查询报错类型为“FantastPlatform.Framework.Core.Item”的数据成员“System.GuidId”不是类型“Grade”的映射的一部分。该成员是否位于继承层次结构根节点的上方?求解~~~

解决方案

解决方案二:
自己顶一下
解决方案三:
从来不自己写这些!都是用工具生成!路过帮顶!
解决方案四:
如果直接用工具生成的话,不便于泛型封装。

时间: 2024-11-01 01:18:11

linq to sql 继承的相关文章

LINQ to SQL语句(25)之继承

继承支持 LINQ to SQL 支持单表映射,其整个继承层次结构存储在单个数据库表中.该表包含整个层次结构的所有可能数据列的平展联合.(联合是 将两个表组合成一个表的结果,组合后的表包含任一原始表中存在的行.)每行 中不适用于该行所表示的实例类型的列为 null. 单表映射策略是最简单 的继承表示形式,为许多不同类别的查询提供了良好的性能特征,如果我们要在 LINQ to SQL 中实现这种映射,必须在继承层次结构的根类中指定属性 (Attribute) 和属性 (Attribute) 的属性

LINQ体验(18)——LINQ to SQL语句之视图和继承支持

视图 我们使用视图和使用数据表类似,只需将视图从"服务器资源 管理器/数据库资源管理器"拖动到O/R 设计器上,自动可以创建基于这些 视图的实体类.我们可以同操作数据表一样来操作视图了.这里注意:O/R 设计 器是一个简单的对象关系映射器,因为它仅支持 1:1 映射关系.换句话说,实 体类与数据库表或视图之间只能具有 1:1 映射关系.不支持复杂映射(例如, 将一个实体类映射到多个表).但是,可以将一个实体类映射到一个联接多个相 关表的视图. 下面使用NORTHWND数据库中自带的In

Linq to SQL中的实体继承

现在的Linq To Sql只支持单表继承,不支持一实体一具体表和一实体一扩展表等方式继承.什么是单 表继承呢?所谓单表继承就是把整个继承体系存储在数据库的一个表中.由此可以知道,这个表结构包括 所有实体的属性字段,如果在该继承体系中,实体的数量较多,就会产生大量的null值的数据,这样浪费 了很多的数据存储空间.不过所有的继承体系放在一个表中,逻辑简单容易操作,数据量不大的时候效率 也高.下面看看在Linq To Sql中是怎样实现单表继承的(用Orcas白皮书中的示例来说明). 假如现在有这

[转]Linq to SQL中的实体继承

原文:http://www.cnblogs.com/blusehuang/archive/2007/07/05/807027.html    现在的Linq To Sql只支持单表继承,不支持一实体一具体表和一实体一扩展表等方式继承.什么是单表继承呢?所谓单表继承就是把整个继承体系存储在数据库的一个表中.由此可以知道,这个表结构包括所有实体的属性字段,如果在该继承体系中,实体的数量较多,就会产生大量的null值的数据,这样浪费了很多的数据存储空间.不过所有的继承体系放在一个表中,逻辑简单容易操作

Linq to SQL对象的增删改

你的程序里,是否到处充斥着这种代码: db.Customers.InsertOnSubmit(customer); db.SubmitChange(); 如果某一天,因为 Customers 表的数据库巨增,需要把它拆成两个表,你是否会胆寒???当然,对于查询,我们可以通过视图来解决.对于插入,或者更新呢?据说,现在的数据库在某些情况下,可以对视图进行数据的更新.插入.但是我们要考虑的是不可以的情况.是不是得每个地方都改呀?对于一个大型的项目,这种改动是很可怕的,某个地方少改了,就糟糕了.不过,

LINQ to SQL语句(22)之DataContext

DataContext DataContext作为LINQ to SQL框架的主入口点,为我们 提供了一些方法和属性,本文用几个例子说明DataContext几个典型的应用. 创建和删除数据库 CreateDatabase方法用于在服务器上创建数据库. DeleteDatabase方法用于删除由DataContext连接字符串标识的数据 库. 数据库的名称有以下方法来定义: 如果数据库在连接字符串 中标识,则使用该连接字符串的名称. 如果存在DatabaseAttribute属性 (Attrib

LINQ体验(16)——LINQ to SQL语句之DataContext

DataContext DataContext作为LINQ to SQL框架的主入口点,为我们提供 了一些方法和属性,本文用几个例子说明DataContext几个典型的应用. 创建和删除数据库 CreateDatabase方法用于在服务器上创建数据库. DeleteDatabase方法用于删除由DataContext连接字符串标识的数据库. 数据库的名称有以下方法来定义: 如果数据库在连接字符串中标 识,则使用该连接字符串的名称. 如果存在DatabaseAttribute属性 (Attribu

Linq To SQL下实现动态表名的映射

提出问题 前段时间,在博客园里看到有位朋友,问如何实现在动态表名.我们都知道,把一个实体类映谢到表 里,应该这样写: [Table(Name = "User")] class User { [Column] public int ID; [Column] public string Name; } 很明显,这里的表名是写死的,有些时候,我们可能要根据不同的情况实现不同的表名 里加个前缀或者后缀,例如: tt_User,aa_User,User1.User2. 分析问题 要解决这个问题,

Linq To SQL 批量更新方法汇总

方法一.官方例子 地球人都知道的,也是不少 Linq To SQL 反对者认为效率低下的一种方法. NorthwindDataContext db = new NorthwindDataContext();var customers = db.Customers.Where(c => c.CustomerID.StartsWith("BL"));foreach (var customer in customers){ customer.Address = "Guangz