Stavo ragionando sull’estender Fluent NHibernate per automatizzare il processo di produzione delle entità (sempre ammesso che non esista ancora nulla del genere).
Mi sono quindi posto il problema di come fare per leggere i tipi delle colonne di una tabella. Mi risponde Joe Webb sul suo blog:
1
2
3
4
5
6
7
8
9
10
11
12
13
| SELECT
ORDINAL_POSITION
,COLUMN_NAME
,DATA_TYPE
,CHARACTER_MAXIMUM_LENGTH
,IS_NULLABLE
,COLUMN_DEFAULT
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'TABLE_NAME'
ORDER BY
ORDINAL_POSITION ASC; |
Related Posts:
Tags:
c#, dotnet, nhibernate, orm, sql, tsql
Ieri ho perso metà pomeriggio di lavoro per una mia non conoscenza del mapping delle Entity in Fluent NHibernate.
L’eccezione lanciata da NHibernate:
1
| Association references unmapped class: YourClass |
Il mapping delle mie Entity avviene tramite un metoto CreateSessionFactory:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
FluentNHibernate.Cfg.Fluently.Configure()
.Database
(
FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008
.ConnectionString(
c => c.Server(DbConnectionValue.Server)
.Username(DbConnectionValue.User)
.Password(DbConnectionValue.Password)
.Database(DbConnectionValue.Database)
)
.ProxyFactoryFactory("
NHibernate.ByteCode.LinFu.ProxyFactoryFactory
,NHibernate.ByteCode.LinFu")
)
.Mappings
(
m => m.FluentMappings
.AddFromAssemblyOf<OneClass.Of.My.Repository>()
)
.BuildSessionFactory(); |
Bisogna fare attenzione che esistono 2 regole affinchè si possa correttamente caricare il mapping di Entity caricate tramite il metodo AddFromAssemblyOf:
1. dichiarare sempre public le classi di mapping;
2. definire sempre le proprietà Id;
Related Posts:
Tags:
asp.net, asp.net mvc, c#, dotnet, nhibernate, orm
Il sito rai.tv su android: problemi con silverlight
RFOPortal online!
Superenalotto: e se fosse truccato?
Sony: pessima gestione ecommerce