C# - Fluent NHibernate Many-to-many Mapping With Auto-generated Pk Instead Of Composite Key?

Feb 2, 2010

I'm working on a RoleProvider in .NET, using Fluent NHibernate to map tables in an Oracle 9.2 database.

The problem is that the many-to-many table connecting users and roles uses a primary key generated from a sequence, as opposed to a composite key. I can't really change this, because I'm writing it to be implemented in a larger existing system.

Here is my UserMap:

public UserMap()
{
this.Table("USR");[code].....

Yet, this is giving me the error:

Type 'FluentNHibernate.Cfg.FluentConfigurationException' in assembly 'FluentNHibernate, Version=1.0.0.593, Culture=neutral, PublicKeyToken=8aa435e3cb308880' is not marked as serializable.

Is there a simple fix to allow this HasMayToMany to use my PersistentObjectMap extension? I'm thinking I may have to add a convention for this many-to-many relationship, but I don't know where to start with that, since I've just started using NHibernate and Fluent NHibernate only recently.

EDIT: I think I've found a possible solution here: http://marekblotny.blogspot.com/2009/02/fluent-nhbernate-and-collections.html

I'll try the above method of creating an entity and a class map for the linking table and post my findings.

EDIT 2: I created a linking entity as mentioned in the above blog post and downloaded the newest binaries (1.0.0.623).
This helped me discover that the issue was with setting lazy load and trying to add roles to the user object in a completely new session.

I modified the code to move OpenSession to the BeginRequest of an HttpModule as described here. After doing this, I changed my data access code from wrapping the open session in a using statement, which closes the session when it is finished, to getting the current session and wrapping only the transaction in a using statement.

This seems to have resolved the bulk of my issue, but I am now getting an error that says "Could not insert collection" into the USR_ROLE table. And I'm wondering if the above code should work with a UserRoleMap described as:

public UserRoleMap()
{
this.Table("USR_ROLE"); [code]....

Hibernate's documentation for many-to-many relationship suggests creating an object to maintain a one-to-many/many-to-one, as in an ERD. I'm sure this would be much easier with conventional naming standards, but I have to stick with certain abbreviations and odd (and not always properly-implemented) conventions.

View 1 Replies


Similar Messages:

Fluent NHibernate, Dynamically Change Table Of Mapping?

Feb 18, 2010

with fluent nhibernate, is there a way to dynamically switch the table of a mapping at runtime?

public class XYClassMap : ClassMap<XY>
{
public XYClassMap( )
{
Table("XYTable");
Id(d => d.Id).GeneratedBy.Identity();
Map(d => d.Value);
[code]...

View 2 Replies

ManyToManyMapping With Fluent Nhibernate?

Feb 16, 2011

I have a table USERS and GROUPS table.

I want to add another table UserGroups.

How can I map these tables.

View 1 Replies

ADO.NET :: How To Use Fluent Nhibernate - Finding Tutorials

Nov 9, 2010

, I want to use fluent hibernate with asp.net but couldn't find any website or tutorial for that , they're all to configure it with asp.net mvc , anyone knows any?

View 3 Replies

C# - Fluent NHibernate - Collections Not Filtering?

Aug 27, 2010

I have a session criteria statement (Fluent NHibernate) that does not seem to filter the child collection even though I have Expressions/Restrictions defined.

ICriteria criteria = session.CreateCriteria(typeof(MyClass));
criteria.CreateAlias("MyCollection", "MC");
criteria.Add(Restriction.Eq("MC.Property", value));
IList<MyClass> list = criteria.List<MyClass>();

This returns all the objects of type MyClass that have MyCollection.Property = value, however MyCollection is not filtered to MyCollection.Property = value

It seems like only the Root objects get filtered.

View 2 Replies

C# - Fluent Nhibernate No Persistor For Class Name?

Sep 9, 2010

I am getting this error even though all my mappings are pretty simple and correct. I get this error only on select classes.

View 1 Replies

Fluent NHibernate Data Caching From A Table

Feb 16, 2011

We are developing a multi-language web application with ASP.NET MVC 2 and Fluent NHibernate.Our platform will be multi-language. But just static text will be multi-language. Groups pages depends on community content whatever they use. Like Facebook.We decide to keep all language string in database. And load language when application starts.

View 1 Replies

Fluent NHibernate Cascade - Trying To Insert NULL ID?

Mar 8, 2011

I have the following models & mappings (code snippets further below).

One Competition has to have multiple CompetitionAnswers associated with it (multiple choice) from the outset.

At present, using the Fluent NHibernate mappings shown below, when I create a brand new Competition object, populate the properties, then create 3 brand new CompetitionAnswer objects and add them to the CompetitionAnswers property (property on Competition), I would expect to call Save on the session which would INSERT the 1 Competition row and 3 CompetitionAnswer rows to the DB.

However, as soon as I try to call Save on the session, it complains that CompetitionId is null and it can't insert a null into the CompetitionAnswers table for that field - which is right, it shouldn't, however, I assumed that the NHibernate would first create the Competition, then use the newly generated IDENTITY value (CompetitionId) in the CompetitionAnswers table?

[code]....

View 3 Replies

C# - (Fluent) NHibernate Security Exception - ReflectionPermission

Apr 11, 2010

I've upgraded an ASP.Net Web application to the latest build of Fluent NHibernate (1.0.0.636) and the newest version of NHibernate (v2.1.2.4000). I've checked a couple of times that the application is running in Full trust. But I keep getting the following error:

Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +54
System.Reflection.Emit.DynamicMethod.PerformSecurityCheck(Type owner, StackCrawlMark& stackMark, Boolean skipVisibility) +269
System.Reflection.Emit.DynamicMethod..ctor(String name, Type returnType, Type[] parameterTypes, Type owner, Boolean skipVisibility) +81
NHibernate.Bytecode.Lightweight.ReflectionOptimizer.CreateDynamicMethod(Type returnType, Type[] argumentTypes) +165
NHibernate.Bytecode.Lightweight.ReflectionOptimizer.GenerateGetPropertyValuesMethod(IGetter[] getters) +383
NHibernate.Bytecode.Lightweight.ReflectionOptimizer..ctor(Type mappedType, IGetter[] getters, ISetter[] setters) +108
NHibernate.Bytecode.Lightweight.BytecodeProviderImpl.GetReflectionOptimizer(Type mappedClass, IGetter[] getters, ISetter[] setters) +52
NHibernate.Tuple.Component.PocoComponentTuplizer..ctor(Component component) +231
NHibernate.Tuple.Component.ComponentEntityModeToTuplizerMapping..ctor(Component component) +420
NHibernate.Tuple.Component.ComponentMetamodel..ctor(Component component) +402
NHibernate.Mapping.Component.BuildType() +38
NHibernate.Mapping.Component.get_Type() +32
NHibernate.Mapping.SimpleValue.IsValid(IMapping mapping) +39
NHibernate.Mapping.RootClass.Validate(IMapping mapping) +61
NHibernate.Cfg.Configuration.ValidateEntities() +220
NHibernate.Cfg.Configuration.Validate() +16
NHibernate.Cfg.Configuration.BuildSessionFactory() +39
FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() in d:BuildsFluentNHsrcFluentNHibernateCfgFluentConfiguration.cs:93

Anyone had a similar error? I've seach the web / stackoverflow / NHibernate forums but only found people who had a problem when running in medium trust mode, not full trust. I've been developing for several months on this application on this machine with previous versions of Fluent NHibernate and NHibernate.

The machine I'm running this on is 64-bit, you never know that this is relevant.

View 1 Replies

Using MVC 2, StructureMap, Fluent NHibernate, And PostgreSQL - Finding Tutorials

Aug 8, 2010

I am using the above combo in a new web app Im doing just to try to learn to build new stuff to expand my knowledge. Im hoping to go live if I do a good job.. Im kind of new at MVC and the other products so I was trying to find a link to a good tutorial that set all of these up together.

View 1 Replies

C# - Update Parent Table From Child In Fluent Nhibernate?

Jul 13, 2010

I'm trying to update the data in the parent table that is referenced in the child table from the child's view in Asp.net.

I mapped the tables using Fluent Nhibernate.

In the child table, the mapping looks like this:

[code]....

View 1 Replies

How To Test Generate Tables With Fluent Nhibernate (schemaexport)

Nov 17, 2010

this is my very very first project with fluent hibernate.i've had small experience in hibernate and nhibernate:

This context is completely new to me since this is a web app project.

So i have my webapp project with most of the fluent nhibernate found on the net.

so i have This entities:

[code]....

View 1 Replies

Fluent Nhibernate Exception Error In System.Xml.Schema.XmlSchemaValidationException / How To Fix It

Jan 29, 2010

am trying to implement fluent nhibernate in MVC project...there were no build errors... but when i run the project i get this exception

System.Xml.Schema.XmlSchemaValidationException: The element 'class' in namespace 'urn:nhibernate-mapping-2.2' has incomplete content. List of possible elements expected: 'meta, subselect, cache, synchronize, comment, tuplizer, id, composite-id' in namespace 'urn:nhibernate-mapping-2.2'.

have no idea what am doing wrong here... the following is the code for opening session factory...

[code]....

View 3 Replies

C# - How To Configure Fluent NHibernate To Output Queries To Trace Or Debug Instead Of Console

Jan 25, 2010

How to configure Fluent NHibernate to output queries to Trace or Debug instead of Console?

I'm using MsSqlConfiguration.MsSql2008.ShowSql() but it has no parameters and I can't find anything on Google.

View 3 Replies

Can Write A Unit Test For CRUD Using In Memory Database With Fluent Nhibernate

Jul 6, 2010

How can I write a unit test for CRUD using in memory database with fluent nhibernate

View 2 Replies

NHibernate Update Using Composite Key?

May 11, 2010

I have a table defnition as given below:

License

ClientId
Type
Total
Used[code]....

If a client used a license to create a user, I need to update the Used column in the table. As I set ClientId column as the id column for this table in the mapping xml, I am getting TooManyRowsAffectedException. how to set a composite key at mapping level so that NHibernate can udpate based on ClientId and Type.

Something like: Update License SET Used=Used-1 WHERE ClientId='xxx' AND Type=1

View 3 Replies

MVC Nhibernate Entity Mapping For Dropdown List?

Apr 30, 2010

I have a dropdown list on an ASP.NET MVC project that I am pretty sure is not binding to my model because of my nhibernate mapping. I have tried many variations on the asp mvc side resulting in this post here.
MVC side of things seems fine I believe the issue may be that my object is trying to bind, but my mapping is out of whack.

My mapping is:

<many-to-one name="Project" lazy="false"
class="AgileThought.ERP.Domain.Property.Project"
column="ProjectGUID" />

My View gives an error saying that the GUID from the dropdownList selected value is not valid. Which I think may be that it is trying to push the GUID into my related project object.

The value 'fd38c877-706f-431d-b624-1269184eeeb5' is invalid.

My related project list binds to the dropdown list just fine, it is just not binding to my models Project entity.

View 1 Replies

NHibernate Mapping Method - Invalid Object Name Employee?

May 10, 2010

I am trying to configure NHibernate on my console application in which I am trying to map an Employee class to a table Employee.I am getting below exception which I have no clue:

Class:
class Employee
{
public int id;
public string name;
[code]...

View 3 Replies

Forms Data Controls :: Best Way To Auto-format Auto-generated Grid Columns?

Mar 9, 2010

I have a "database explorer" page that is desgined to be pointed to an unknown database and allow users to browse the data, so it basically uses the SQL system tables to develop its queries and pull in data to tables using auto-generate columns.The problem that I have is that I would like certain types of columns to have certain formats and I'm wondering the best way to go about it. I could format the column in code in the RowDataBound event I assume, but I'm wondering if there some better standard way to do this? Is there a setting of any kind that I can use? For example I want all of the datetime fields to be formated for short date, like {0:d}, I want decimal fields to have 4 decimal places, etc.

View 2 Replies

C# - Mapping NHibernate Many-to-one Relationships From Abstract Base Classes To Union-subclasses?

Nov 19, 2010

I am having a problem mapping a many-to-one relationship from an abstract base class mapping to a concrete union-subclass. Example:

public abstract class Entity
{
public virtual Guid ID {get; set;}
public virtual string Name {get;set;}
public virtual User OwnerUser {get; set;}
}

public class User : Entity
{
public virtual string UserName {get; set;}
}

I have a base abstract class for all of my database objects. I am mapping these classes with the Entity class as the abstract mapping class and the User as a union-subclass. When creating the configuration object, no errors are thrown and the Schema exports just fine. However, the field to the OwnerUser just won't show up in the database for all of the concrete classes. Here is an example of how the mapping looks

<class entity-name="Entity" name="Entity" abstract="true">
<id name="ID" type="guid">
<generator class="guid.comb"/>
</id>
<property name="Name" />
<many-to-one name="OwnerUser" column="ID" entity-name="User" />........

I am also using an Oracle XE instance as the database backend. If this isn't enough information to properly answer the question, let me know and I will add what I can.

View 1 Replies

Nhibernate - Error "Could Not Compile The Mapping Document: WebApplication1.documents.hbm.xml ![alt Text][1]"

Aug 31, 2010

error Could not compile the mapping document: WebApplication1.documents.hbm.xml ![alt text][1] photo [URL]
web.config

<?xml version="1.0"?>
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" .....

View 1 Replies

Which Files Are Auto-generated?

Jan 19, 2010

I know that Visual Studio auto-generates a lot of code when you develop a web application. How do I know which code is auto-generated? I do a lot of code editing and tweaking by hand (Im not a WYSIWYG guy), and I want to make sure I'm not editing something thats going to get over-written later by the auto-generator!

View 2 Replies

Auto Generated Email?

May 17, 2010

I need to send automatci emails after a set interval of time

View 2 Replies

SQL Server :: AUTO GENERATED CONTROL NO?

Nov 22, 2010

HAVING PROBLEM TO GENERATE A AUTO CONTROL NO. WHEN SOMEONE FILL THE FORM AFTER SUBMITTING THE FORM ON NEXT WINDOW ONE WILL GET AUTO CONTROL NO.

View 8 Replies

WCF / ASMX :: Auto-generated Values?

Feb 17, 2011

I'm trying to call a Soap Web Service, and I need to pass an Address Object to the Server. I can pass an existing address.Id to update an existing address, or if I leave the address.Id empty, it should be saved as a new Address. The Problem is that the Id is of long type, and it allways has a value of 0.And this makes problems for the server, because even if the Id=0, the Server Side function will take the Address as Existing one, and it will start to search on the Database for an Address with Id=0. Of course there is no such address, and it throws an error. When I try to call the Web Service with WebService Studio or SoapUI, and I delete the id manually, then It works as expected, as soon as I put <address id="0"> then it returns me an error - Address with Id=0 not found.So the question is, how to change the webservice definitions, or the proxy classes so that it does not generates this id="0" at all?P.S. I cannot change the Server Side method, it would have been the easiest solution, but unfortunatelly is not possible.

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved