NHibernate Fluent pas de l'identité de la colonne dans le tableau
Comment puis-je spécifier avec NHibernate fluent de la cartographie pour une table qui n'a pas d'identité de la colonne?
Je veux quelque chose comme ceci:
public sealed class CustomerNewMap : ClassMap<CustomerNew>, IMap
{
public CustomerNewMap()
{
WithTable("customers_NEW");
Not.LazyLoad();
Not.Id(); //this is invalid...
Map(x => x.Username);
Map(x => x.Company);
}
}
Je ne veux pas de clé primaire dans la base de données (pas bien défini dans la base de données).
OriginalL'auteur AwkwardCoder | 2009-08-17
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la réponse:
OriginalL'auteur AwkwardCoder
Ce n'est pas directement répondre à la question.. mais il répond à la question dans le commentaire de la accepté de répondre ici.
Nous avons eu le même problème avec une Vue SQL sur notre Livre. Le problème est que NHibernate sera heureux de les doublons lorsque le
Id
propriété n'est pas unique. Dans notre cas.. nous avons eu les écritures qui avaient leCustomerAccountId
défini commeId
.. ce qui n'était pas unique à l'intérieur de la vue.Pour contourner.. je l'ai associé un CompositeId qui était basé sur ce que j'ai pu trouver qui a fait la ligne unique. Dans notre cas, il s'agissait d'une combinaison de
CustomerAccountId
etWeekEnding
:C'était assez pour avoir NHibernate pas la carte des doublons.
OriginalL'auteur Simon Whitehead
J'ai trouvé que j'avais à définir explicitement un nom de colonne dans un cas similaire. Quelque chose comme
OriginalL'auteur Christopher Stott