- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个令人尴尬的基本 n 层问题。
我在 VS2008 中使用亚音速创建了一个 DAL 项目。它有一个小部件类、一个小部件集合类和一个小部件 Controller 类。
我创建了引用它的业务逻辑项目(不,我不能把它放在同一层)。使用某些业务标准,它在返回小部件集合的函数中选择小部件集合。
我的问题是:我的 GUI 层如何将集合绑定(bind)到网格?我知道小部件集合是数据网格的有效数据源,但是 GUI 层如何知道小部件和小部件集合是什么 ?当然,我不必从 GUI 中引用 DAL,这否定了整个观点。
最佳答案
首先,我不认为这是一个令人尴尬的基本 n 层问题。
这是一个非常有趣的主题,我试图在旧的 Subsonic 论坛中引发讨论。
我和你一样不愿意将我的 GUI 层暴露给 DAL。
我的 GUI 层只使用我自己的实体模型的词汇和主题与 BLL 对话,并且只返回我自己的实体或列表,或者在某些情况下返回数据表。
我的 BLL 只与一个映射层对话,该层将 Fetches、Saves 等映射到适当的 DAL CRUD 方法,并将返回的 Subsonic 类型转换为我的实体类型。
在这样做的过程中,我对我必须复制多少 Subsonic 感到惊讶,有时我觉得我走错了路,我现在感觉更舒服了,尽管它仍然需要重构和改进。
例如,找到一种灵活、通用的方法来向我的 BLL 指示我希望在 fetch 中返回哪些行是一个我没有预料到的挑战,我完成了一个具有流畅接口(interface)的通用 queryClass,它看起来很像亚音速选择。
FWIW,我认为您正朝着正确的方向前进,我想您要做的就是决定如何将这些 Subsonic 类型定义到您的 GUI。
Rob 有一个 interesting discussion你可能会感兴趣。
关于亚音速:把我带到层级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/999511/
这是一个令人尴尬的基本 n 层问题。 我在 VS2008 中使用亚音速创建了一个 DAL 项目。它有一个小部件类、一个小部件集合类和一个小部件 Controller 类。 我创建了引用它的业务逻辑项目
我有一个古老的困惑,我正在尝试使用亚音速将其铲入层中。问题是,我有这样的情况: 当 Hal 登录时,他的登录名使用数据库 X 来查找数据,使用数据库 Y 来查找他的帐户,使用数据库 Z 来查找他的联系
我有一个使用 Subsonic 生成的不错的 DAL。有没有办法为 BLL 生成骨架?我不想将 SS 层直接插入我的 GUI。 我浏览了两个 SS 论坛,似乎每个人都称 SSS 生成的层为 DAL,但
尝试使用 linq 在 subsonic 中进行左连接,但它似乎不起作用,我遇到了一个大错误。 我很确定查询是正确的,因为我已经用对象和 Linq2Sql 做了几次。 var
我有一个数据库表(Profile)来描述一个人。该表有一列“性别”(整数)。在 .NET 部分我有: public enum Sex { Male = 1, Female = 2 } public c
据我所知,Subsonic 2.2 需要 MySQL.data 5.2.3 dll。我正在尝试在 Visual Studio 中为 VB 项目集成亚音速 DAL。该项目已经使用了大量数据集。因此,Vi
我正在玩弄 Subsonic 3 的简单存储库,但在理解如何处理外键时遇到了瓶颈...... 如果我有一个产品对象包含 int ID; string name; string description;
我正在为一个重要项目寻找新的 ORM,我习惯于使用 ActiveRecord 进行 nHibernate,并且我已经对 EF4、性能和崩溃的 GUI 有了非常糟糕的体验。 所以在网上搜索我找到了 Su
好的, 我热切地等待 subsonic 3.0 的发布以用作我的低级数据层,现在它已经发布了。我目前正在使用 ActiveRecord 模板(尝试了存储库和高级模板)并且我有一个巨大的请求和几个问题:
有没有办法用 subsonic 执行自连接? 最佳答案 subsonic 上曾经有过关于这个的讨论,现在已经死了。它基本上说: it is [not] possible with SqlQuery y
运行最新版本的 SubSonic (3.0.0.3)。检索单个记录、更改一个字段并调用 .Save 会导致以下代码中的空引用异常: 公共(public)无效更新(IDataProvider 提供者){
我正在尝试使用 Subsonic3 中的 SimpleRepository 功能 - 首先,我必须对 RobC 表示衷心的感谢 - Subsonic 真的很棒,我迫不及待地想看到 SimpleRepo
我正在玩弄 Subsonic 3.0 SimpleRepository 并尝试使用一个 linq 查询获取菜单和菜单项,但菜单项始终为空 菜单 public class Menu { publ
这里有什么问题?这就是我在 Subsonic 2 CodingHorror 示例中发现的方法,但不起作用:( new CodingHorror().Execute("SELECT * FROM pro
我有一个带有主键 (Identity) 和几个 varchar 类型列的简单表。我尝试使用以下语法删除/销毁具有给定主键的记录: SS3Test.DAL.TestClass.Destroy(x =>
有什么区别:.Save(); 。添加();.Update(): 最佳答案 您没有提及您正在使用哪些模板(我将假设 ActiveRecord),但作为一般规则: 如果对象保存将插入IsNew==true
Subsonic 3.0 的新手,想知道如何对对象属性执行 LIKE 运算符。给定以下类(class),我将如何使用 Subsonic 3.0 执行 LIKE 操作。例如 SELECT * FROM
我遇到了以下情况,我有 2 个表(产品和类别)。 Products 表中的字段 CategoryID 具有 Categories 表的外键。 现在,对于我的 CMS 中的数据表,我正在寻找一种方法来根
有人可以帮忙吗?当我尝试生成我的 Structs.cs 文件时,该过程失败并出现错误,因为 MySQL 提供程序未返回 SchemaName。 "错误 3 运行转换:System.ArgumentNu
我最近尝试将一个由 SubSonic 2.2 生成 DAL 的 .net 2.0 项目升级到 Visual Studio 2010 下的 .NET 4.0。 项目转换没有错误,但现在我在尝试启动它时收
我是一名优秀的程序员,十分优秀!