LINQ TO SQL数据实体应该这样设计(解决多表关联问题)

前几天看了老赵的Translate方式解决多表关联后产生实体类型问题,但多数据量时还是不太妥当,所以最后还是用老的方法,建立一个实体类来解决这个问题

首先我让实体类和LINQ表类型名称一样,只是加了个后缀用来区分,并让它去继承LINQ表对象,这样它将有表对象的所有非私有的属性和方法。

如图:

IEntity是个接口,只要继承它,就必须实现它的一个PrimaryKey这个属性,它用来统一表对象的主键。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:LINQ TO SQL数据实体应该这样设计(解决多表关联问题),如需转载请自行联系原博主。

时间: 2024-09-24 22:59:28

LINQ TO SQL数据实体应该这样设计(解决多表关联问题)的相关文章

sql 数据库 如何使用update set 解决多表关联修改数据

问题描述 sql 数据库 如何使用update set 解决多表关联修改数据 A表: stuid testid 1 2 3 4 5 1 1 2 1 3 1 1 2 2 2 3 2 B表: stuid testid 1 2 3 4 5 1 1 A B C D A 2 1 B B C A A 3 1 C D A A B 1 2 C C D D D 2 2 B A C A A 3 2 D A D C D C表: testid stid daan fs 1 1 A 3 1 2 B 3 1 3 C 3 1

SOA数据访问:使用LINQ To SQL和实体框架实现灵活的数据访问

本文配套源码 本文使用以下技术: LINQ to SQL.ADO.NET实体框架和SOA 目录 创建数据访问层 持久化各个对象 跨服务边界跟踪更改 配置客户端 总结 迄今为止,Microsoft 已面向开发人员发布了两种旨在减少关系数据领域和面向对象的编程之间 的阻抗失谐的产品:LINQ to SQL 和 ADO.NET 实体框架.借助其中任何一种产品,您不必编写大部分探 测代码,即可实现对象持久性.但是,将这些对象关系映射 (ORM) 技术应用到面向服务的应用程序体系 结构为应用程序开发人员带

LINQ to SQL 建立实体类

原文:LINQ to SQL 建立实体类 使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就是实体类.在运行时,LINQ to SQL 根据LINQ表达式或查询运算符生成SQL语句,发送到数据库进行操作.数据库返回后,LINQ to SQL负责将结果转换成实体类对象. 建立实体类的方法有很多,例如LINQ to SQL设计器,手动编码建立,使用XML文件映射,使用命令行工具SqlMetal生成等.其中最方便的就是LINQ to SQL设计器. 1.使用LINQ to SQL

Linq to SQL Delete时遇到问题的解决方法_实用技巧

1.1.   Code1: using (PubsDataContext pubsContent = new PubsDataContext()) {     pubsContent.Log = Console.Out;     Author author = pubsContent.Authors.Single(a => a.au_id == "111-11-1111");     pubsContent.Authors.DeleteOnSubmit(author);    

LINQ to SQL集成数据库语言的的优点与劣势

1.LINQ to SQL的优点 在LINQ to SQL推出之前,我们只是把SQL语句形成一个string,然后,通过ado.net传给SQLserver,返回结果集.这里的缺陷就是,如果你SQL语句写的有问题,只有到运行时才知道.而且并不所有的人都懂数据库的.LINQ to SQL在一切围绕数据的项目内都可以使用.特别是在项目中缺少SQL Server方面的专家时,LINQ to SQL的强大的功能可以帮我们快速的完成项目.LINQ to SQL的推出,是让大家从烦琐的技术细节中解脱出来,更

Linq to SQL之更新

本文接着上篇Linq to SQL之查询和添加,还是以Northwind数据库为例,介绍使用Linq to SQL怎样对 数据库的数据进行更新及冲突的相关问题. 首先对Customers表的一条记录进行更新: NorthwindDataContext ctx = new NorthwindDataContext(); Customer alfki = ctx.Customers.Single(c => c.CustomerID == "ALFKI"); Console.Write

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

采用一个自创的"验证框架"实现对数据实体的验证[改进篇]

自<编程篇>和<设计篇>发布以来,收到了一些反馈.尤其是园友双鱼座提到.NET 3.5下的System.ComponentModel.DataAnnotations命名空间具有相似的实现,并且通过"表达式"的方式实现了CompositeValidator的服务逻辑判断的功能.为此,我对这个"验证框架"进行了相应的改进,让CompositeValidator具有了解析"验证表达式"的能力.为了让大家对此改进又一个深刻的认识,

一起谈.NET技术,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 = "Gua