方案: 我有一个带有表示层(ASP.NET),业务逻辑层(dll)和数据层(dll)的场景,后者有一个LinqTOSQL DataContext文件(dbml),它保存特定数据库的表和存储过程。项目之间的联系是:
依赖关系: 业务逻辑层具有数据层的参考 表示层具有业务逻辑层的参考
我的问题: 问题是我有需要返回对应于datacontext的表类型的对象的情况,但由于表示层没有对数据层的引用我不能使用表对象...是吗在Presentation Layer中直接引用数据层的好习惯?或者有人可以指导我如何从表示层实现表格
答案 0 :(得分:0)
不要让业务逻辑层向表示层返回 System.Data.Linq.Table<TEntity>
,而是让它通过隐式强制转换返回 System.Collections.Generic.IEnumerable<TEntity>
,或者 System.Collections.Generic.IList<TEntity>
,通过调用表格中的ToList()
。
听起来dbml文件中定义的对象已经在您的域命名空间中,因此您不必在表示层中引用System.Data.Linq
。