相关疑难解决方法(0)

LINQ to SQL和存储库模式

我觉得我在圈子里跑来跑去.我似乎无法决定使用LINQ to SQL正确的存储库模式.如果您熟悉Rob Conery的 MVC店面,您将看到他的实现将LINQ生成的模型与另一个类包装在一起,并将LINQ生成的模型简单地视为数据传输对象(DTO).它看起来像这样:

//Custom wrapper class.
namespace Data
{
    public class Customer
    {
         public int Id {get;set;}
         public string Name {get;set;}
         public IList<Address> Addresses {get;set;}
    }
}

//Linq-Generated Class - severly abbreviated
namespace SqlRepository
{
    public class Customer
    {
         public int Id {get;set;}
         public string Name {get;set;}
         public EntitySet<Address> {get;set;}
    }
}

//Customer Repository
namespace SqlRepository
{
    public class UserRepository : IUserRepository
    {
        private _db = new DB(); //This is the Linq-To-Sql …
Run Code Online (Sandbox Code Playgroud)

.net asp.net-mvc repository-pattern linq-to-sql

44
推荐指数
2
解决办法
2万
查看次数

LINQ to SQL生成的对象可以解耦吗?

我喜欢LINQ to SQL,但似乎它生成的类与它们存储的数据库紧密耦合,这看起来像是一件坏事.

例如,使用旧的Northwind数据库,如果我使用Products表创建dbml,Product则会生成一个类.我可以在任何其他层使用此类,这一切都很好,但如果我决定使用普通的旧ADO.NET(或交换机数据库),我将不得不重新创建Product类,以及其他所有类"模型."

有没有解决的办法?或者单独创建对象模型,然后将表映射到它们?我已经玩过各种各样的地图类,但还没有找到满意的答案.

.net architecture linq-to-sql

11
推荐指数
1
解决办法
1399
查看次数