Nobody has any idea or theory why is this happening?
On Jul 1, 12:07 pm, epitka <[email protected]> wrote:
> I have a very unusual problem with one relationship in my class (and
> only this one) out of some 60 classes. Problem is that the unit test
> that tests mapping passes on my local machine, but fails on the build
> server. Mind you everything is pointing to the same database, problem
> is not with a data. Problem is that on my machine, when unit test is
> run, collection is uninitialized until accessed. On the server, is
> shows as initialized. Here is the unit test (please do not comment on
> unit test itself, it is what it is):
>
> [Test]
> public void Can_Load_With_ClientNotes()
> {
> Domain.Client.Entities.Client client =
> clientRepository.FindByNumber(261).FirstOrDefault();
> Assert.That(client, Is.Not.Null);
>
> Assert.That(NHibernateUtil.IsInitialized
> (client.LazyNotes),Is.False, "IsInitialized - before");
>
> NHibernateUtil.Initialize(client.LazyNotes);
>
> Assert.That(NHibernateUtil.IsInitialized
> (client.LazyNotes), Is.True, "IsInitialized - after");
>
> Assert.That(client.LazyNotes.Any(),Is.True, "LazyNotes");
>
> Assert.That(client.LazyNotes.Count(), Is.GreaterThan(0));
> }
>
> Here is the mapping for the Client and ClientNote
>
> ClientMap
>
> public class ClientMap : ClassMap<Client.Entities.Client>
> {
> public ClientMap()
> {
> DefaultAccess.AsCamelCaseField(Prefix.Underscore);
> WithTable("vw_Client");
>
> Id(x => x.Id, "ClientId");
>
> Map(x => x.Name, "ClientNameTxt");
> Map(x => x.Number, "ClientNum");
> Map(x => x.EnrollmentSize, "EnrollmentSizeNum");
>
> References(x => x.AccountType, "AcctTypeCd");
> References(x => x.LineOfBusiness, "LineOfBusinessCd");
>
> HasMany(x => x.EagerNotes).KeyColumnNames.Add
> ("ClientId").Not.LazyLoad();
> HasMany(x => x.LazyNotes).KeyColumnNames.Add
> ("ClientId").LazyLoad().AsBag();
>
> HasMany(x => x.AccountTypeHistory)
> .KeyColumnNames.Add("ClientId")
> .Cascade.SaveUpdate();
>
> ClientNote:
>
> public class ClientNoteMap : ClassMap<ClientNote>
> {
> public ClientNoteMap()
> {
> DefaultAccess.AsCamelCaseField(Prefix.Underscore);
>
> WithTable("vw_D_ClientNote");
>
> Id(x => x.Id, "NoteId");
>
> Map(x => x.Subject, "NoteSubjectTxt");
> Map(x => x.CreationDate, "NoteCrtDt");
> Map(x => x.ShortText, "NoteShrtTxt");
> Map(x => x.Text, "NoteTxt");
> }
> }
>
> Facts:
>
> 1. this Assert.That(NHibernateUtil.IsInitialized
> (client.LazyNotes),Is.False, "IsInitialized - before"); passes on my
> machine, and same code fails on build server.
>
> 2. I take this dll and put it in the web bin directory, and I step
> through the code and this is what I see for generated proxy. All other
> collections are as PersistentGenericBag, except for LazyNotes? How
> come?
>
> ?CurrentBid.Client
> {ClientProxybef6f8a3309c43f7b7b98a0d8f36d526}
> [ClientProxybef6f8a3309c43f7b7b98a0d8f36d526]:
> {ClientProxybef6f8a3309c43f7b7b98a0d8f36d526}
> base {SR.Domain.Common.Infrastructure.PersistentObject}:
> {ClientProxybef6f8a3309c43f7b7b98a0d8f36d526}
> AccountType: {AccountTypeProxyf2cfb29f153b4e8abd4cfcc946b97213}
> AccountTypeHistory:
> {NHibernate.Collection.Generic.PersistentGenericBag<SR.Domain.Client.Entiti
> es.ClientAccountTypeHistoryItem>}
> ClientType: null
> EagerNotes: Count = 0
> EnrollmentSize: 35161
> LazyNotes: Count = 0
> LineOfBusiness:
> {LineOfBusinessProxy7010d97df001455f8e464a03477c23d3}
> Name: "Purdue University"
> Number: 261
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---