ASP.Net - используя linq to sql в качестве уровня данных? - PullRequest
1 голос
/ 10 октября 2011

Является ли плохой идеей использовать linq to sql в качестве моего уровня данных для извлечения данных, а затем заполнять данные в моем бизнес-уровне?

Буду ли я сталкиваться с проблемами производительности?

Каков наиболее эффективный способ получения данных из базы данных и помещения их в мои бизнес-объекты?

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

Linq to Sql даст вам достаточно хорошую производительность для всех, кроме самых требовательных приложений. Если вы когда-либо рассматривали возможность использования базы данных SQL Server, Linq to SQL - это очень продуктивный ORM для работы, и он «просто работает».

Раньше я использовал Linq to SQL во всех приложениях .NET, которые я разработал на SQL Server. Затем я обнаружил простоту и элегантность Entity Framework (4.1) и подхода Code First. Этот подход прекрасно работает с Domain Driven Design, позволяя писать бизнес-объекты без написания кода персистенции вообще, используя подход, основанный на соглашениях. Стоит задуматься.

2 голосов
/ 10 октября 2011

Если вы не сделаете глупостей, LINQ2SQL не вызовет проблем с производительностью. Использование LINQ2SQL сопряжено с небольшими издержками, но это довольно мало.

Самый эффективный способ - выбрать прямо в бизнес-объекты в выделенной части.

var myResult = from product in context.Products
               where product.StockQty > 10
               select new MyBusinessProduct
               {
                   Name = product.Name,
                   Category = product.Category,
                   etc = product.etc, //...
               }

Зачастую вы можете использовать ваши LINQ-объекты в качестве бизнес-объектов, вы можете декорировать их с помощью бизнес-методов в частичном классе, а также реализовать частичные методы в классах LINQ для реализации правил проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...