Re: [BLT] Как явно вставить Primary Key?
От: Kolesiki  
Дата: 11.10.19 11:38
Оценка:
Судя по ответам, проект в анабиозе.
А мне он нравится — он простой в употреблении, хотя и дико переусложнённый в плане дизайна (в угоду всемогутерности, конечно).
Так как "я и сам немного программист" , то запилил пару костылей, потому что разбираться со всеми архитектурными выкрутасами — некогда, а работу делать надо.
Кастомные сорсы закомпрессил здесь.

Итак, что появилось:

DbManager db;
db.OpenTrans("имя");// именованые транзакции
db.CloseTrans("имя");
db.CancelTrans("имя");

var qry = new SqlQuery(db);
db.SetCommand(@"SET IDENTITY_INSERT Person ON").ExecuteNonQuery();
qry.Insert(obj, true);// true = вставить запись ВМЕСТЕ С ID (identity полем)

int newID = qry.InsertWithID(obj);// вставить запись и вернуть её PK (да, только целые! костыль для 99% случаев)


Никого не принуждаю, просто делюсь.
Всё руки чешутся написать свой ORM, с блэкджеком и маппингами, но пока юзаю проверенный BLT, спасибо всем авторам этого чуда!

На мой взгляд, ничего не мешает запилить MS-only ORM, зато который будет простым, легко улучшаемым(сопровождаемым) и гибким. Как показала практика использования BLT, есть много затыков при использовании тупых "объект-таблица" сопоставлений. Либа должна быть гибче в этом плане. Если прошерстить этот форум, найдётся куча неординарных, но интересных вещей. Например, ОДИН класс, который можно сохранить в несколько разных таблиц — why not? Время идёт, сценарии усложняются, EF'у этот поезд уже никогда не догнать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.