Комментарии 12
Спасибо за статью
+1
Скажите плз, CodeFirst уже поборол децкие болезни роста? Например использование GUID в качестве PK? А то раньше с этим вылазил целый ворох проблем.
0
Да, GUID полностью может использоваться в качестве РК, единственное ограничение, что при работе с SQL Server CE 4.0 не поддерживается использование автогенерации на стороне сервера. То есть вот такой код
не будет корректно работать, надо явно указывать GUID перед записью в БД:
public class Tag
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid TagID { get; set; }
public string TagName { get; set; }
}
не будет корректно работать, надо явно указывать GUID перед записью в БД:
Tag t1 = new Tag {TagName = ".net", TagID = Guid.NewGuid()};
0
Ещё не поборол — enum'ы.
Нет миграций — только recreate database.
Нельзя менять конвеншены.
С какого перепуга они назвали это релизом, я не понимаю.
Нет миграций — только recreate database.
Нельзя менять конвеншены.
С какого перепуга они назвали это релизом, я не понимаю.
0
Описывает полнофункциональную сущность «автор», причем он не нуждается ни в базовом классе, ни в интерфейсах, ни в атрибутах или метадананных.
Можно сказать, что не нуждается. Однако не всех может устроить для Email и Name столбцы типа NVARCHAR(MAX). Думаю, об этом имеет смысл упомянуть, чтобы не создавалось впечатление сказки ;)
Вообще, Conventions это довольно мощная вещь.… Подробнее о них можно почитать здесь
Строго говоря, в текущем релизе нет официальной поддержки своих Conventions — только возможность отключения стандартных.
P.S. Не подумайте, что я противник EF 4.1 — очень даже неплохой шаг вперед. Просто не хочу, чтобы у кого-нибудь были завышенные ожидания.
0
> «Вообще, Conventions это довольно мощная вещь.… Подробнее о них можно почитать здесь»
Conventions — по определению очень мощная вещь. Это именно то, что позволяет в 90% случаев не писать тривиального кода. Именно поэтому такие тулзы как, скажем, FluentNHibernate или AutoMapper так юзабельны.
По теме — CF — хороший шаг вперед, но, честно говоря, EF сам по себе содержит детские проблемы.
Например, до сих пор нет нормального Lazy Loading. Решается только собственной реализацией Dynamic Proxy. Ну и о таких фичах как кэш 2-го уровня, вообще говорить не приходится. Собственно, посмотрим что будет дальше.
Conventions — по определению очень мощная вещь. Это именно то, что позволяет в 90% случаев не писать тривиального кода. Именно поэтому такие тулзы как, скажем, FluentNHibernate или AutoMapper так юзабельны.
По теме — CF — хороший шаг вперед, но, честно говоря, EF сам по себе содержит детские проблемы.
Например, до сих пор нет нормального Lazy Loading. Решается только собственной реализацией Dynamic Proxy. Ну и о таких фичах как кэш 2-го уровня, вообще говорить не приходится. Собственно, посмотрим что будет дальше.
+2
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
Code-first в Entity Framework