NHibernate One-To-Many Delete Not Cascading?
Jan 21, 2011
I have a 'Photo' class and a 'Comment' class. An Photo can have multiple comments assigned to it.I have this configured as a one-to-many relationship within my HBM mapping file, and have set cascade="all-delete-orphan" against the 'Comments' bag within the Photo.hbm.xml mapping file.
However, if I try to delete a Photo which has 1 or more Comments associated with it, I am getting 'The DELETE statement conflicted with the REFERENCE constraint "FK_Comments_Photos"'
I tried a couple of other cascade options against the Comments bag in my Photo.hbm.xml but regardless of what I set it to, I'm getting the same outcome each time. I just want to be able to delete a Photo and have any associated comments automatically delete too.
Here is my Photo mapping (edited for brevity):
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" .... default-access="property" default-cascade="none" default-lazy="true">
<class xmlns="urn:nhibernate-mapping-2.2" name="Photo" table="Photos">
<id name="PhotoId" unsaved-value="0">[code]....
Here is my Comment mapping (edited for brevity):
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" ... default-access="property" default-cascade="none" default-lazy="true">
<class xmlns="urn:nhibernate-mapping-2.2" name="Comment" table="Comments">
<id name="CommentId" unsaved-value="0">[code]...
why the cascade is not happening when I try to delete a Photo with comments associated with it?
UPDATE: The only way I can get the cascade to happen is to configure the 'Delete Rule' within SQL Server against this relationship to 'Cascade', and in doing so means that I don't need to specify any cascade action within my NHibernate Mapping. However, this isn't ideal for me - I'd like to be able to configure the cascade behaviour within the NHibernate Mapping ideally, so I'm still confused as to why it doesn't appear to be taking any notice of my NHibernate cascade setting?
View 2 Replies
Similar Messages:
Jan 21, 2011
I have the following mapping file for 'Photo' objects (edited for brevity):
<hibernate-mapping ... default-access="property" default-cascade="none" default-lazy="true">
<class xmlns="urn:nhibernate-mapping-2.2" name="Photo" table="Photos">
<id name="PhotoId" unsaved-value="0"> [code]...
How can I get around this?
View 1 Replies
Nov 18, 2010
How do I reference the delete button to add the delete confirmation box when I have both the Edit and Delete buttons as the last two columns in the Gridview control. The following code works fine without any issues when I have the delete button only:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow) return;
int lastCellIndex = e.Row.Cells.Count - 1;
Button db = (Button)e.Row.Cells[lastCellIndex].Controls[0];
db.OnClientClick = "if (!window.confirm('Are you sure you want to delete this record?')) return false;";
}
But, when I have both the Edit and the Delete buttons, I get the following error when I click the edit button while the delete button works fine.
Specified argument was out of the range of valid values. Parameter name: index
How do I reference the delete button so the edit button is not affected in this case?
View 4 Replies
Feb 3, 2010
Using "Enable Delete" from Gridview control, I can delete (besides, update, sort, paging, etc) data from the database (this is done automatically). However, how can I delete the actual image that resides in my image folder (i.e. from "pix" folder )? What is the best way to delete image? If using code behind, how? Please write a full code for me. Here is my source code.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="photoID"
View 12 Replies
Nov 7, 2011
I am interested in building an intranet document management system to be used from Internet Explorer using ASP.net, VB.net, and MS SQL Server but have no experience in doing a project like this. Supported file types would be txt, pdf (from scanner or imported from file system), or jpg. What concepts I should look at researching/learning about to build the system in a way that files will be stored as small as possible, retrieved and displayed quickly, and secured. The users would be spread out over a regional area covering 4 states.
View 5 Replies
Feb 8, 2010
I have a grid contol that allows delete what I would like to have is someway to say Are you sure you want to delete?I found this code online, and tried it but it did not work, Do I need something more some behind code maybe?Here is what I found online:Adding 'Delete Protection' to controls If you use a control set up to allow Delete, the Delete button gives a straight delete without any warning, which can be dangerous.To give a warning dialog box, add an OnClientClick event to the Delete button, as follows.
<asp:LinkButton
ID="DeleteButton"
runat="server" CausesValidation="False"
CommandName="Delete"
OnClientClick="return confirm('Are you sure you want to delete this record?');"
Text="Delete">
</asp:LinkButton>
Here is my code: You can see where I added the code from above.
<ItemTemplate>
ID:<asp:label id="IDLabel" runat="server" Text='<%# Eval("ID") %>' /><br />
Name:<asp:label id="NameLabel" runat="server" Text='<%# Bind("Name") %>' /><br />
Destination:<asp:label id="DestinationLabel" runat="server" Text='<%# Bind("Destination") %>' /><br />
OutDate:<asp:label id="OutDateLabel" runat="server" Text='<%# Bind("OutDate") %>' /><br />
ReturnDate:<asp:label id="ReturnDateLabel" runat="server" Text='<%# Bind("ReturnDate") %>' /><br />
LeaveTime:<asp:label id="LeaveTimeLabel" runat="server" Text='<%# Bind("LeaveTime") %>' /><br />
ReturnTime:<asp:label id="ReturnTimeLabel" runat="server" Text='<%# Bind("ReturnTime") %>' /><br />
ContactNumber:<asp:label id="ContactNumberLabel" runat="server" Text='<%# Bind("ContactNumber") %>' />
<asp:linkbutton id="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" />
<asp:linkbutton id="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('Are you sure you want to delete this record?');" Text="Delete" />
<asp:linkbutton id="NewButton" runat="server" CausesValidation="False" CommandName="New" Text="New" />
</ItemTemplate>
View 23 Replies
Jan 7, 2014
I want to make an conformation dialog on auto generated delete button in detail view that when user press delete dialog or conformation box appear that u sure u want to delete how can i do this?
View 1 Replies
Apr 6, 2010
I am using Sharepoint Designer and trying to insert a Delete button into a gridview. I added this to the top of my ASPX:
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" %>
and I added this as a Gridview column:
<SharePoint:DeleteItemButton
runat="server"
ID="CustomFormDeleteItemButton"
ControlMode="Edit"
/>
and this is the error I get:
An error occurred during the processing of . System.Web.UI.WebControls.DataControlFieldCollection must have items of type 'System.Web.UI.WebControls.DataControlField'. 'SharePoint:DeleteItemButton' is of type 'Microsoft.SharePoint.WebControls.DeleteItemButton'.
View 4 Replies
Jan 27, 2011
I have a gridview with edit and delete parameters enabled. When I click on the edit link, I can edit the record successfully. However when I click on the delete link, nothing happens (the record does not get deleted).
View 5 Replies
Dec 14, 2010
I have a Gridview (VS2008 3.5) which has a Edit Button and a Delete button.he Delete button deletes the row without confirming deletion with the user first. ow can I use the Confirm/Delete Confirm from Ajax Toolkitif possible and if not, is there a way to Confirm/Delete with user firstwhen using Gridview?
View 6 Replies
Sep 14, 2010
I created a ListView and attempted to delete a record using the delete button and native procedures. It failed and threw an error.Pass in a valid dictionary for delete or change your mode to OverwriteChangesIn researching this issue, it appeared there is a problem with the list view when deleteing and
ConflictDetection is set to
[Code]....
[Code]....
[Code]....
[Code]....
[Code]....
[Code]....
[Code]....
[Code]....
[Code]....
View 1 Replies
Aug 27, 2010
I want to use NHibernate with Asp.net 3.5 but i don't know how to use it.I search on Google but couldn't find the complete explanation about why to use NHibernate,Advantages of using it and integration with Asp.net projects.
View 4 Replies
Aug 12, 2010
I am about to give up on this pos...unless somebody here simply gives me the right code to fix my problem. I'm tired of running in circles, and scouring the internet with no progress at all.
Problem: not updating collections with FK's.
Example:
Forum forum = new Forum("Sample");
category.AddForum(forum);
categoryRepository.Update(category); <- fails with transient object error for forum with no CategoryId.
Mapped right using References<Category> and HasMany<Forum>. Conventions are as follows.
Ref:
instance.Column(instance.Property.Name + "Id");
HasMany:
instance.Key.Column(instance.EntityType.Name + "Id");
instance.Cascade.All();
instance.Access.ReadOnlyPropertyThroughCamelCaseField(CamelCasePrefix.None);
Now, I've tried every possible setting for inverse, all the different cascades, on both sides. Nothing works. It just flat fails, telling me it can't insert NULL for Forum.CategoryId (field, not entity prop).
View 8 Replies
Nov 12, 2010
I've been reading up on DDD a little bit, and I am confused how this would fit in when using an ORM like NHibernate. Right now I have a .NET MVC application with fairly "fat" controllers, and I'm trying to figure out how best to fix that. Moving this business logic into the model layer would be the best way to do this, but I am unsure how one would do that.
My application is set up so that NHibernate's session is managed by an HttpModule (gets session / transaction out of my way), which is used by repositories that return the entity objects (Think S#arp arch... turns out a really duplicated a lot of their functionality in this). These repositories are used by DataServices, which right now are just wrappers around the Repositories (one-to-one mapping between them, e.g. UserDataService takes a UserRepository, or actually a Repository). These DataServices right now only ensure that data annotations decorating the entity classes are checked when saving / updating.
In this way, my entities are really just data objects, but do not contain any real logic. While I could put some things in the entity classes (e.g. an "Approve" method), when that action needs to do something like sending an e-mail, or touching other non-related objects, or, for instance, checking to see if there are any users that have the same e-mail before approving, etc., then the entity would need access to other repositories, etc. Injecting these with an IoC wouldn't work with NHibernate, so you'd have to use a factory pattern I'm assuming to get these. I don't see how you would mock those in tests though......................
View 3 Replies
Aug 10, 2010
I am using NHibernate in my web application. I need to use Convert() method in NHibernate query in order to get the date format as "MM/DD/YYYY".
I have used the below query using NHibernate query SELECT DISTINCT Convert(varchar(10),CurrentDate,101) AS Date FROM table order by Date desc.
But getting error.
Even I tried using views without unique key but Entity requires primary key.
View 2 Replies
Feb 1, 2010
I am working on NHibernate with oracle in ASP.Net. Now i am trying TDD(Test Driven Development). Can you tell me the best way to develop the TDD for NHibernate with oracle?I am using MbUnit with microdesk but it is not better approach for oracle but SQL server.
View 1 Replies
Nov 28, 2010
Using NHibernate with ASP.NET 4.
I have had no issues retrieving objects, but I've just got to a point with nested objects that I can't figure out.
I am using lazy=true and when accessing a lazy-load collection I get the message:
Initializing[type#3]-failed to lazily initialize a collection of role: [type], no session or session was closed
Even if I call SessionFactory.OpenSession() immediately prior to the object being accessed, it makes no difference. I have also tried accessing the collection in a using ISession block to no luck.
Edit to add - I do have current_session_context_class = web set in web.config, and I am using CurrentSessionContext.Bind on BeginRequest.
Not an MVC app
I read this - don't know how accurate it is, and it is Hibernate:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2878
It says something about a bug in many-to-many relationships.
Here is my HBM mapping:
<bag name="Objects" table="ObjectInstance" cascade="all" lazy="true">
<key column="branchId" />
<many-to-many class="InventoryObjectInstance" column="objectInstanceId" />
</bag>
View 3 Replies
Jan 28, 2011
A comment from .Net Hosting (Flexible Medium Trust) says.
Godaddy is medium trust, which means that u can't use stuff like IL emit(Nhibernate needs this for proxying)
Is it true? Is there anyone using NHibernate on GoDaddy?
View 2 Replies
Jul 8, 2010
I am a newcomer to NHibernate and know a bit about WCF. I would like to know how they best play together.Should I make the session per request? Or is there some different tactic that I should be using? What about the lifetime?Where do I set up my sessionfactory? In the global.asax?Can I best create a custom httpmodule or a new servicehostfactory to plug all the goods in?
View 2 Replies
Feb 9, 2011
I've got fluent nhibernate in my application and I'm trying to locate the cause of high memory usage. (I say high, it's 60MB, but it's a web app and it's not very big) Unfortunately it looks like a lot of it is in unmanaged memory, so I started taking things out - and as soon as I took out any calls to nhibernate, the memory usage dropped to 11MB!! Why oh why would it be taking up so much memory? Especially, why would it be taking up unmanaged memory?
I've been 'Googling' this all day and all I can find are posts from people saying "NHibernate eats memory..." and answers that say "no it doesn't, there's no evidence". Are NHibernate people in denial about it?
View 1 Replies
Apr 12, 2010
I am using VS 2008 SP1. My also have included CSS Friendly adapter [URL] in my project ( I mentioned this because my GridView Empty data template is not showing when using GridView's CCS Friendly adapter). I have a GridView and a DetailsView. When a record in GridView is selected its details information is shown in the Details View. Type of Data source I am using is ObjectDataSource. My Insert and Update methods works perfectly. It is only the Delete method that is passing null values to the underlying object delete method. My source codes for both the UI, BLL, DAL is shown below
[Code]....
My Business Object code is below :
[Code]....
My Data Access Layer Code is:
[Code]....
View 2 Replies
Sep 6, 2010
No records where inserted in my SQL Table after committing the transaction or after the .Flush() method. I checked the code and it follows the correct sequence of codes. I can't seem to find any other way where the error fails.
View 3 Replies
Oct 20, 2010
How can we map a table without having primary key in nHibernate.I have a table which does not contain any primary key, so how can i map this table in .hbm.xml file.
View 1 Replies
Nov 30, 2010
how to implement codesmith in nhibernate.
View 1 Replies
Jan 21, 2010
Im currently starting on a project where im using NHibernate for dealing with the DB interactions, and MVC2 (RC) for the front end... and im just wondering if there are any decent tutorials on how to minimize the amount of duplicated validation that needs to be entered to validate thigns in NHibernate and try to mirror those constraints client side.. Ive looked at xVal which looks great, but i cant seem to get it to work and there dont seem to be that many articles about it. Also alot of people are mentioning that its going to become redundant at the MVC level in MVC2 due to the data annotation validation. So im really just after some more information/advice and links on the subject really...
View 2 Replies