Я чувствую себя глупо, задавая такой фундаментальный вопрос, но было бы глупее не спрашивать:)
Я использую SubSonic 2.x уже много лет и мне это нравится (спасибо Робу и сотрудникам).
Я запустил пилотный проект с использованием SubSonic 3.0.0.4 и выбрал шаблоны LINQ T4 (извините, если у меня неверная терминология).
Сейчас я новичок в LINQ, но я делаюХорошо, вы знаете, как создавать запросы.
С чем я действительно борюсь, это как создавать и обновлять данные с помощью нового инструментария.
Раньше это было очень просто, где я мог:
- 'новый' объект, если у меня не было одного
- или выборка или создание существующего по id
- , установка некоторых свойств
- затем'Save ()' it
Фантастически и сэкономило мне часы.
Теперь в новом наборе инструментов некоторые вещи выглядят так же, как:
- создание объекта
- с установкой некоторых свойств
но сейчас некоторые вещи кажутсянамного сложнее, например:
- Загрузка объекта выглядит следующим образом:
db.Product.FirstOrDefault(x => ProductID.Id == 123);
db.Insert.Into<Northwind.Region>(
x => x.RegionID,
x => x.RegionDescription)
.Values(6, "Hawaii").Execute();
- Обновление объекта кажется еще сложнее:
db.Update<Product>()
.Set(x => x.UnitPrice == 100, x => x.ProductName == "Test")
.Where(x => x.ProductID == 1).Execute();
Документация (http://subsonicproject.com/docs/Linq_Updates) докладыоб использовании репозитория, но он просто не существует / генерируется с помощью шаблонов T4, которые я использую.
Так что помогите мне сообщить, что:
- Я, очевидно, установилэто неправильно
- Я понятия не имею, что я делаю, и способ сделать это ... вставить ответ здесь
- Я правильно понимаю и должен просто смириться с этим
с благодарностью.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Заранее спасибо.
Отметка
---- Обновление ----
Чтобы подвести итог ответа Дениса:
LINQ - это язык запросов, а не ORM
Вы можете попасть в объект Repository через:
var repo = new SubSonic.Repository.SubSonicRepository (db);