Я ищу в использовании NHibernate, и все выглядит хорошо. Есть ли инструмент, который я могу использовать для создания POCOs из текущей базы данных? Это ускорит время разработки, а не создает их.NHibernate - есть ли инструмент для создания POCOs?
ответ
Проект генератора сопоставления NHibernate (http://nmg.codeplex.com/) может создавать как классы сущностей, так и все формы сопоставлений (XML, свободно nhibernate и т. Д.).
Электроинструменты Entity Framework могут генерировать POCO для вас, из базы данных. См. this article для получения дополнительной информации. Возможно, вам потребуется немного изменить процесс; немного тонкой настройки может производить очень хорошие результаты:
Если все линии вверх, то мы не создают никакого отображения на все:
Конечно, если все не вы получите атрибуты, специфичные для Entity Framework, которые необходимо удалить. Но у вас все еще будет хорошая отправная точка.
Оповещение о личном присутствии! Другая возможность - просто сохранить атрибуты и использовать Entity Framework. Я бы рекомендовал его, если вы сильно используете LINQ. Я считаю, что поставщик LINQ NHibernate работает по большей части, но бомбит с 1) чрезвычайно тривиальными выражениями LINQ и 2) чрезвычайно сложными выражениями LINQ. Но ta.speot.is! Все становится все лучше! Каждый из них по своему усмотрению, но прямо сейчас поставщик LINQ Entity Framework чрезвычайно последователен.
Вот быстрый SQL-скрипт для создания как poco, так и карты. Не стесняйтесь при необходимости настраивать.
begin
declare @tablename varchar(200)
set @tablename = 'tablename'
declare @outputTable table (id int identity(1,1), rowType varchar(4), outputString varchar(5000))
declare @columnname varchar(200)
declare @isNullable bit
declare @xtype tinyint
declare @xtypeString varchar(200)
declare @outputString varchar(5000)
declare c1 cursor for
select name, isnullable, xtype from syscolumns
where id in (select id from sysobjects where name = @tablename)
order by colorder
open c1
set @outputString = 'Table("' + Upper(@tablename) + '");'
insert into @outputTable (rowType, outputString) values('map',@outputString)
fetch next from c1 into @columnName, @isNullable, @xtype
while(@@FETCH_STATUS=0)
begin
print @columnname
print @isnullable
print @xtype
set @outputString = ''
set @xtypeString = ''
if (@xtype = 104)
set @xtypeString = 'bool'
if (@xtype = 60)
set @xtypeString = 'double'
if (@xtype = 62)
set @xtypeString = 'double'
if (@xtype = 175)
set @xtypeString = 'string'
if (@xtype = 56)
set @xtypeString = 'int'
if (@xtype = 48)
set @xtypeString = 'int'
if (@xtype = 167)
set @xtypeString = 'string'
if (@xtype = 61)
set @xtypeString = 'DateTime'
if (@isnullable = 1 and len(@xtypeString) > 0 and @xtypeString <> 'string')
set @xtypeString = @xtypeString + '?'
if @xtypeString=''
set @xtypeString = cast(@xtype as varchar)
set @outputString = 'public virtual ' + @xtypeString + ' ' + @columnName + ' {get;set;} // ' + @columnname
insert into @outputTable (rowType, outputString) values('poco', @outputString)
set @outputString = 'Map(x => x.'+ @columnname+').Column("' + @columnname+'");'
insert into @outputTable (rowType, outputString) values('map', @outputString)
fetch next from c1 into @columnName, @isNullable, @xtype
end
close c1
deallocate c1
select * from @outputTable where rowType = 'poco' order by id
select * from @outputTable where rowType = 'map' order by id
end
- 1. Инструмент для создания сопоставлений Fluent NHibernate
- 2. Есть ли инструмент создания графического интерфейса для создания gui xml
- 3. Есть ли инструмент для создания MVC-модели для Objective-C?
- 4. Есть ли бесплатный инструмент для создания справки для Eclipse?
- 5. Есть ли инструмент для быстрого создания классов RPC для GWT?
- 6. есть инструмент для создания распределенных методов поиска?
- 7. Есть ли инструмент для создания пользовательских интерфейсов Android
- 8. Есть ли какой-либо инструмент для создания графика зависимостей?
- 9. Есть ли инструмент для создания связанных терминов поиска?
- 10. Есть ли какой-нибудь инструмент для создания кода ASM ClassWriter?
- 11. Есть ли инструмент для автоматического создания оболочек вокруг классов?
- 12. Есть ли какой-нибудь инструмент для создания файла labels.rdf?
- 13. Есть ли собственный веб-инструмент для создания прототипов веб-интерфейса?
- 14. Есть ли инструмент для создания make-файлов и разрешения зависимостей?
- 15. Есть ли какой-нибудь инструмент для создания DTO от сущностей?
- 16. Есть ли какой-нибудь инструмент для создания плагина Jenkins?
- 17. Есть ли хороший инструмент для программного создания диаграмм?
- 18. Инструмент отображения Nhibernate для MySQL
- 19. Инструмент для создания UML
- 20. POCOs; Нестабильность настойчивости и DAL (NHibernate)
- 21. Инструмент для создания классов C# из файлов сопоставлений NHibernate?
- 22. Есть ли базовый шаблон, который я могу использовать для создания POCOs из Db MyGeneration?
- 23. Инструмент для создания Vagrantfile
- 24. Есть ли инструмент для документа для python?
- 25. Инструмент для создания флеш-игр
- 26. Инструмент для создания тестовых данных
- 27. Инструмент для создания схем SQLXMLBulkLoad?
- 28. Лучший инструмент для создания MSI
- 29. Инструмент для создания пользовательского интерфейса
- 30. nHibernate - есть ли способ отладки создания объектов TPH?