Всем привет!
Есть несколько странное(а может и нет) желание в использовать EF, но есть также жесткое условие не использовать LINQ.
Такое вообще возможно или это из пушки по воробьям?
Если невозможно, что посоветуете? Типизированные датасеты, что-то еще?
Здравствуйте, Любопытный, Вы писали:
Л>Есть несколько странное(а может и нет) желание в использовать EF, но есть также жесткое условие не использовать LINQ.
Берите в руки Entity SQL и пользуйтесь на здоровье.
Л>Есть несколько странное(а может и нет) желание в использовать EF, но есть также жесткое условие не использовать LINQ. Л>Такое вообще возможно или это из пушки по воробьям? Л>Если невозможно, что посоветуете? Типизированные датасеты, что-то еще?
Да без особых проблем. При простых случаях быстро и удобно. Автоматом создаем контекст по БД. В контексте — куча коллекций с объектами.
Ну и работаем с ними напрямую. Частенько быстрее написать выборку на foreach, чем изобретать многоэтажный LINQ-запрос.
Л>жесткое условие не использовать LINQ
Это как? В программирование пришла политкорректность? from x where a==b select писать нельзя, а x.Where(a==b) можно? (Считается ли это "использованием linq"?) Или linq'овские методы вроде .Where тоже нельзя? Утверждён список запрещённых к вызову методов?
Данное сообщение является художественным произведением и освещает вымышленные события в вымышленном мире. Все совпадения с реальностью являются случайными. Не является инвестиционной рекомендацией.
Здравствуйте, Любопытный, Вы писали:
Л>Всем привет! Л>Есть несколько странное(а может и нет) желание в использовать EF, но есть также жесткое условие не использовать LINQ. Л>Такое вообще возможно?
using (var context = new UnicornsContext())
{
var unicornNames = context.Database
.SqlQuery<string>("select Name from Unicorns")
.ToList();
}
Здравствуйте, Osaka, Вы писали:
Л>>жесткое условие не использовать LINQ O>Это как? В программирование пришла политкорректность? from x where a==b select писать нельзя, а x.Where(a==b) можно? (Считается ли это "использованием linq"?) Или linq'овские методы вроде .Where тоже нельзя? Утверждён список запрещённых к вызову методов?
Ну, в общем смысле .Where() это не linq'овский же метод, насколько я понимаю.
А ситуацию плюс к всему усложняет .NET 3.5
Здравствуйте, Любопытный, Вы писали:
Л>но есть также жесткое условие не использовать LINQ.
Оффтопик, но всё же: почему такое ограничение? Преждевременная оптимизация, мол LINQ медленнее из-за expressions? Тогда про EF можно забыть, он тот еще тормозяка.
Если же нельзя использовать синтаксический сахар LINQ вроде "from x select x" так и не используйте. Я чаще использую extension-методы.
Л>Такое вообще возможно или это из пушки по воробьям? Л>Если невозможно, что посоветуете? Типизированные датасеты, что-то еще?
А может вам EF и не нужен, тогда посоветую какую-то легковесную библиотеку вроде Dapper или BLToolkit.