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
Dopo una serie di polemiche sul forum, pare che finalmente siano stati risolti i problemi di Subsonic, relativi ai due metodi GetCount() e GetRecordCount() che potete richiamare sull’oggetto Select.
In realtà, la versione 2.1 final non è fixata. Potete farlo manualmente, modificando i sorgenti, facendo un rebuild della solution e sovrascrivendo il file Subsonic.dll che state utilizzando.
Fix:
Modify SqlQuery/SqlQuery.cs : line 1241
from
count = (int)scalar;
to
count = (int)Utility.ChangeType(scalar, typeof(int));
(via codplex)
Related Posts:
Tags:
.net, asp.net, c#, orm, subsonic
RFOPortal online!
Superenalotto: e se fosse truccato?
Sony: pessima gestione ecommerce
Il sito rai.tv su android: problemi con silverlight