Hi:
I am trying to map an object which ID is composed of two Foreign Keys.
Below is the Database Scripts
CREATE TABLE tbl_requests
(
strID uniqueidentifier NOT NULL,
…..
CONSTRAINT pk_request PRIMARY KEY (strID),
)
CREATE TABLE tbl_resources
(
strCode uniqueidentifier NOT NULL default NEWID(),
…..
CONSTRAINT pk_resources PRIMARY KEY (strCode)
)
CREATE TABLE tbl_exceptions
(
strRequest uniqueidentifier NOT NULL,
strResource uniqueidentifier NOT NULL
CONSTRAINT pk_exception PRIMARY KEY (strRequest, strResource),
CONSTRAINT fk_resourcerequests FOREIGN KEY (strRequest) REFERENCES
tbl_requests(strID),
CONSTRAINT fk_resources FOREIGN KEY (strResource) REFERENCES
tbl_resources(strCode)
)
The Entity/Bean/Domain that I created looks like follows:
public class ExceptionEntity
{
public virtual RequestEntity objRequest { get; set; }
public virtual ResourceEntity objResource { get; set; }
}
I am having a hard time trying to create the Mapping, so far what I found
online were examples of composite key with string properties, but nothing
with keys of objects. I was attempting the following,
public ExceptionMap()
{
Table("tbl_exceptions");
CompositeId()
.KeyProperty(x => x.objRequest, "strRequest")
.KeyProperty(x => x.objResource, "strResource");
}
but I got this exception:
MappingException: Could not determine type for:
Project.entities.RequestEntity, Project, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null, for columns: NHibernate.Mapping.Column(strRequest)
If I replace key properties with the full path of the Ids ex:
.KeyProperty(x => x.objRequest.strID, "strRequest") I get an error that the
get method is not defined. Is there any way to achieve this? Should I set 4
properties on my entity 2 string for the keys and 2 objects and make the
KeyProperty to the strings and References to the Objects?
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/nhusers/70194a7a-d950-4f66-8155-e743d9d35baen%40googlegroups.com.