ahhhh :)

im sure how bidirectional works in NH, but from the description you
give me, it sounds like that unidirectional adds a little bit more
work when is persists objects ?

Even though i dont really need it to be bidirectional, would be better
performance wise to go with bidirectional instead of unidirectional ?

On Jan 12, 2:34 pm, "Markus Zywitza" <[email protected]> wrote:
> Remove the not null-constraint from the database column.
>
> This is needed as NH works this way:
> 1) You save the parent
> 2) Parent cascades to newly created child
> 3) Child is saved with null FK
> 4) Parent updates child's FK
>
> On a bidirectional association, you can instead map the collection
> with Inverse=true and use the [BelongsTo]ed property to manage
> one-to-many relationships.
>
> However, I prefer giving up the not null constraint on foreign keys
> because unidirectional relations are generally less error-prone.
>
> -Markus
>
> 2009/1/12 Mark Jensen <[email protected]>:
>
>
>
> > Yep :) but if i remove the property from the object I get the above
> > error
>
> > On Jan 12, 2:04 pm, Colin Ramsay <[email protected]> wrote:
> >> You need the column in the DB but you don't need the property on the
> >> post object.
>
> >> On Mon, Jan 12, 2009 at 12:44 PM, Mark Jensen <[email protected]> wrote:
>
> >> > Because if I remove the property(and ofcouce the belongsto relation) I
> >> > get an error ..
>
> >> > System.Data.SqlClient.SqlException: Cannot insert the value NULL into
> >> > column 'BlogId'....
>
> >> > And as fare as I Know about databases and Nhibernate, I need the
> >> > blogId as my foreignkey. I dont see how nhibernate else would know how
> >> > to make the relation between Blog and Post if i remove BlogId from
> >> > Post.
>
> >> > :/
>
> >> > On Jan 12, 11:34 am, "Markus Zywitza" <[email protected]>
> >> > wrote:
> >> >> Then why do have the BlogId property in there? Simply discard it.
>
> >> >> -Markus
>
> >> >> 2009/1/12 Mark Jensen <[email protected]>:
>
> >> >> > haven't tested it yet, but is it really required to make it
> >> >> > bidirectional for this to work ?
>
> >> >> > because I only need it to go one way :/
>
> >> >> > On Jan 10, 2:41 pm, "Markus Zywitza" <[email protected]> wrote:
> >> >> >> > public class Post : BaseEntity<Post>
> >> >> >> > {
> >> >> >> >    [Property("BlogId", NotNull = true)]
> >> >> >> >    public Guid BlogId
> >> >> >> >    {
> >> >> >> >        get { return blogId; }
> >> >> >> >        set { blogId = value; }
> >> >> >> >    }
>
> >> >> >> [BelongsTo("BlogId")]
> >> >> >> public Blog Blog {get; set;}
>
> >> >> >> > }
> >> >> >> >> > anyway...it is not the ID on Post that is the problem.. it is 
> >> >> >> >> > the
> >> >> >> >> > BlogID on Post that is empty after I persist Blog with 
> >> >> >> >> > Blog.Save().
>
> >> >> >> Of course, it is changed in the DB but not in the object. Call
> >> >> >> post.Refresh() to reload it. If you implement it as I have written
> >> >> >> above, you could also set Blog on the post instance instead.
>
> >> >> >>        public void AddPost(Post post)
> >> >> >>        {
> >> >> >>                posts.Add(post);
> >> >> >>                post.Blog=this;
> >> >> >>        }
>
> >> >> >> -Markus
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" 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/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to