DLINQ *.dbml文件该属于哪一层
假如光使用一种数据库,那么把LINQ放在数据层是没有问题,然后再对LINQ数据进行包装,就可以使用了。但是如果使用工厂进行多种数据库部署的话,问题来了,如果把LINQ放在数据层,那么IDAL将无法得到Model类型,工厂将无法返回数据类型。因为数据层肯定要引用IDAL,实现IDAL定义的接口,而同样工厂在配置取得的结构恰恰是IDAL定义的接口。也就是说IDAL至少同时被Factory和数据层引用,但是IDAL必须引用Model以便能使用对象。问题就出在LINQ的Model恰恰被封装在了*.dbml文件里了。
经过一番思考,我认为*.dbml文件只能被封装在Model层中,虽然带来了不良反应——任何层都有直接操作数据的能力。但是实在是没有办法的事情,要么就只能另外再定义一次Model,但那样已经带来了大量的额外工作量。
大家有什么看法呢?
DLINQ *.dbml文件该属于哪一层相关推荐
- Dbml文件提取建表TSql-CodeSmith
在昨天一个大学师弟,他问我能不能将LinqToSql文件转化为创建表的TSql语句,他是刚开始学习.NET,所以在网上下些示例看,但苦于没有数据库.所以就有了这一篇博客,作为我的Code生成技术的Co ...
- 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~四 分部方法从另一方面定义了类型的操作规范...
一 DBContext的构造方法,方法的重载 二 DBContext实例中,表实体对象是怎么被加入的 三 分部类是否破坏了单一职责 四 分部方法从另一方面定义了类型的操作规范 五 LINQ实体类中对属 ...
- 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~二 DBContext实例中,表实体对象是怎么被加入的...
一 DBContext的构造方法,方法的重载 二 DBContext实例中,表实体对象是怎么被加入的 三 分部类是否破坏了单一职责 四 分部方法从另一方面定义了类型的操作规范 五 LINQ实体类中对属 ...
- 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...
一 DBContext的构造方法,方法的重载 二 DBContext实例中,表实体对象是怎么被加入的 三 分部类是否破坏了单一职责 四 分部方法从另一方面定义了类型的操作规范 五 LINQ实体类中对属 ...
- 光脚丫学LINQ(025):如何验证DBML和外部映射文件
视频演示:http://u.115.com/file/f2604631a 此演示视频主要演示了如下两方面的内容: 1.如何使用VS提供的架构文件来验证DBML文件和XML外部映射文件. 2.如果计算机 ...
- 解决Visual Studio 2008 下,打开.dbml(LINQ) 文件时,提示The operation could not be completed. 的问题。...
环境:XP sp3, Visual Studio2008 sp1 错误现象:打开.dbml(LINQ) 文件,提示 "The operation could not be completed ...
- c++:文件操作1 文件的打开
在程序中,要使用一个文件,先要打开文件后才能读写,读写完后要关闭.创建一个新文件也要先执行打开(open)操作,然后才能往文件中写入数据.C++ 文件流类有相应的成员函数来实现打开.读.写.关闭等文件 ...
- 编码,深浅拷贝和文件操作
三.再谈编码 小数据池, 常量池, id() 查看变量的内存地址 is和== is 判断内存地址是否一致 == 判断内容是否一致 小数据池的作用: 为了快速的创建字符串对象, 可以减少内存的浪费 用 ...
- java递归url目录_Java递归实现某个目录下所有文件和目录
import java.io.File; import java.util.ArrayList; public class Test1// 实现打印某个目录下的所有文件和目录,要目录在上,文件在下,每 ...
最新文章
- 【转】NuGet.org 无法访问的解决方法
- 加载数据时先显示小圆圈不显示内容
- ABP文档 - Javascript Api - AJAX
- 1.10 编程基础之简单排序_10 单词排序
- Android 实现手写板技术
- mysql用户已存在怎么回事_mysql – 我的数据库用户存在,但我仍然得到...
- 【mysql】悲观锁和乐观锁的实现原理
- 每天一道剑指offer-翻转单词顺序列
- JAVASSM框架面试题
- 这是我经历过最惨的转正答辩了
- vue.js 获取当前屏幕的宽度_js获取浏览器和屏幕的各种宽度高度
- 基于TADK的SQLI检测
- 百度开放平台-快递物流解决方案
- java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
- h5页面 判断是在微信打开还是在浏览器打开
- 2023 最新 抖音AI换脸表情包小程序变现玩法项目
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
- Springboot Application 集成 OSGI 框架开发
- 【jquery】删除节点 添加节点 找兄弟节点
- iOS 刻度尺、iOS 测量尺、iOS开发可移动的尺子、纯代码实现
热门文章
- 域名判断真实ip地址
- JAVA SE学习day14:XML语言
- vue 加载时掉用mounted_Vue实例中生命周期created和mounted的区别详解
- Android 2D游戏引擎AndEngine配置环境
- php滑动换视频,php工具类之【视频变换类】
- 封装 继承 多态_Java基础知识——封装、继承、多态
- 机器学习算法_五分钟了解机器学习十大算法
- Logistic Regression(逻辑回归) +python3.6(pycharm)实现
- myeclipse 如何显示序号
- 研究人员利用非线性原理为机器人创造出类似昆虫的步态,脑机接口也可以使用...