Get The Id Of A New Record In SavingChanges Event On The Entityframework?

Jul 21, 2010

Im tring to implement some generic logging in the entityframework 4.0 using the SavingChanges event in the entity context.

I want to record details about any create/ update and deleted records including the id of the record being changed (which is always an int identity field). During the update and delete processes I can get the id for the record using

Dim AddedItems = Statemanager.GetObjectStateEntries(EntityState.Added)
For Each entry As ObjectStateEntry In DirectCast(sender, ObjectContext).ObjectStateManager.GetObjectStateEntries(EntityState.Added)
NewLogItem.RecordId = CInt(entry.EntityKey.EntityKeyValues(0).Value.ToString())
Next

But I obviously cannot get the id of the about to be inserted record during an insert becuase it hasn't been written to the database yet, is there a simple way around this?

View 3 Replies


Similar Messages:

MVC :: Updating 1 Column In EntityFramework?

Oct 28, 2010

I have Create and Edit forms for Categories. Columns are Id, CategoryName, Order, CreatedOn. On Create form I save the values for all but on Edit form I need to change only CategoryName. Below is the code. Problem is that on Edit form only CategoryName field exists which on submit button is passed to Edit Action. Whenever I update Order and CreatedOn becomes null because the values are not returned from form. Someone tell me any good approach how to Updated selected values in EF. Below is code.

Making multiple Get calls. Form is saving fine but I don't like the approach. Need clean approach. Anyone got better solution to thiis?

[Code]....

View 5 Replies

Vb.net - Using Eval With Sum() And Count() With EntityFramework And ListView?

Dec 30, 2010

I am working on my first project with the Entity Framework and am having some difficulty displaying advanced information with the EntityDataSource and a ListView.

For example, given the two entities:

Item
Name
Price
Order
Number
Items <---- Navigation Property to Items contained in the Order

I want to display a list of all orders with a column with the total number of items in the order and a column with the sum of the prices of all items in the order.

I am using an EntityDataSource configured as follows:

<asp:EntityDataSource ID="eds" runat="server" ConnectionString="name=NDSEntities"
DefaultContainerName="NDSEntities" EnableFlattening="False" Include="Items"
EntitySetName="Orders"></asp:EntityDataSource>

In the ItemTemplate of the ListView, I can write the order number as follows:

<%# Eval("Number") %>

I had trouble figuring out how to display a count of items in the order. I tried using Items.Count() function in select statement in the EntityDataSource but that didn't work. Eventually I figured out I could do the following in my ItemTemplate:

<%# Eval("Items").Count() %>

Now I am stuck trying to get the sum of the items. I am stuck here. I have tried using

<%# Eval("Items").Sum(Function(i) i.Price)%>

but I get the following error:

Public member 'Sum' on type 'EntityCollection(Of Item)' not found.

This confuses me because I know that Sum is a method of EntityCollection(Of ).

My two questions are as follows:

Am I getting the item count correctly?

How should I go about getting the sum of the prices of the items?

View 1 Replies

Binding Between EntityFramework Objects And WebForm Controls?

Jun 14, 2010

With ASP.Net 4, is there any way that we can bind web-form controls to entity framework objects?

<asp:TextBox ID="UserName" runat="server" BoundTo="UserName" BindingSource="..."></asp:TextBox>

so just like in MVC I can

form.UpdateModel(userObj),
form.DisplayModel(userObj)

View 1 Replies

Web Forms :: How To Bind EntityFramework Objects With Controls

Jun 14, 2010

with asp.net 4, is there any way that we can automatically bind web controls (textbox, listbox, check, etc), to EF4 Objects?

View 2 Replies

Scenario Cause An UpdateException In EntityFramework While Calling SaveChanges?

Jan 27, 2011

SaveChanges can generate an UpdateException when an object added to the ObjectContext cannot be successfully created in the data source. This can happen if a row with the foreign key specified by the relationship already exists. When this occurs, you cannot use Refresh to update the added object in the object context. Instead, reload the object with a value of OverwriteChanges for MergeOption.

In a table, a foreign key column can have a single value multiple times. e.g. DepartmentID foreign key in Users Table: More than one User can have same DepartmentID foreign key.

So how can this cause an UpdateException ?

View 1 Replies

C# - Get A Custom Sorted EntityCollection By Default In EntityFramework ?

Jan 15, 2010

I would like to call a method in the ObjectContext which returns EntityCollection and have it sorted the way I want by default. For example, Imagine I have the following Category table/class:

CategoryID (PK)
Name
ParentID (FK_Category) foreign key
pointing to CategoryID itself.

(This table is the base for a tree structure of Categories and SubCategories)

Now, in my data model, the public partial class Category : EntityObject has a property which returns all Categories that have ParentID==CategoryID, in other words, EntityCollection<Category> SubCategories.

Alright, now i want to show in my page all the Categories and SubCategories by using Repeater:

<asp:Repeater ID="rptSubCategories" runat="server">
<ItemTemplate>
<%# Eval("CategoryID") %> - <%# Eval("Name") %>
<asp:Repeater ID="rptSubCategoryCategories" runat="server" DataSource='<%#Eval("SubCategories")) %>'>
<ItemTemplate>
<%# Eval("CategoryID") %> - <%# Eval("Name") %>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>

Then in code behind, I set the DataSource:

IList<Category> categoryList = new CategoryProvider().GetAll();
rptSubCategories.DataSource = categoryList;
rptSubCategories.DataBind();

Simply and everything works! Except that, rptSubCategoryCategories doesn't gives sorted Categories by Name. The only way I found to do it, is to change its DataSource from:

DataSource='<%# Eval("SubCategories")) %>'

to:

DataSource='<%# ((EntityCollection<Category>)Eval("SubCategories")).OrderBy(p => p.Name) %>'

but I wish I could do something else to have a default sorting so i don't need to call the OrderBy. Something like Attributes like we do in DynamicData, following the tutorial at [URL] Setting the default sort column of an Entity with DisplayColumnAttribute. Unless somebody tells me it's impossible what I want to do.

Using .NET 4.0 BETA 2

View 1 Replies

DataSource Controls :: Getting Some Data Out Of My EntityFramework Using Linq?

Jul 6, 2010

I got a problem when getting some data out of my EntityFramework using Linq

Heres my code

[Code]....

Heres the ClientViewModel :

[Code]....

As you can se in the ClientViewModel the Users property is a List

But when trying to compile I get a error saying

Cannot implicitly convert type 'AdminMVC.Models.Clients_Username' to 'System.Collections.Generic.List<AdminMVC.Models.Clients_Username>'

View 2 Replies

How To Display Record In Gridview Using Pageload Event In Vb.net

Jan 23, 2011

How to display record in gridview using pageload event in vb.net ? i wanna use two SqlDatasource1 and sqldatasource 2 to display record in single gridview1

SqlDatasource1 will display all records from tabel where as SqlDatasource will be used to display particuar record search in table 1 but how to do this ?

View 1 Replies

Entity Framework - .NET EntityFramework 4 Data Context / What Is The Best Practice

Oct 2, 2010

I'm working on a project which is using EntityFramework 4 and I am using the entity objects as my business objects. I ran into an issue recently where I had a context declared in a using statement in a user control. The method the statement was in returned an entity object which got used in another control. So I had to detach the entity then attach it to the new context in the other control. I would like to avoid this if possible. What I'm thinking is I would like to declare a context in the master page and then pass that to any page/usercontrol that needs it so they are all using the same context and I don't have to write all these using statements.

My questions are these:

1) is it a bad practice to declare a context on Pre_Init/Page_Load and then dispose of it on Page_Unload?

2) if it is what is the best practice for handling them?

3) if I do go the route of declaring the context in the master page what is the best way to pass that to the pages/usercontrols?

View 1 Replies

ADO.NET :: Intercept/extend Createquery In Entityframework To Allow Global Filter?

Feb 22, 2011

I have not found any way to intercept or override calls to createquery in my datacontext. What I am trying to do is to allow for global filters, i.e. if a user has access to only a subset of entities I would like to filter away these on the lowest level possible. Is there a way to do this? I have tried several apporaches but no one worked out. Perhaps I lack patience or is just plain stupid, but I think it should be possible! So if anyone has any pointers to where

View 2 Replies

DataSource Controls :: EntityFramework Base Class Inheritance?

Feb 11, 2010

I am having some issues with my base class inheritance. I am currently employing Table per Type Inheritance for the following tables:

Database:

Members Table

- Member ID (PK)

- First Name

- Last Name

- Email

- ...

Students Table

- Member ID (FK)

- Credits

- Notes

- ...

Instructors Table

- Member ID (FK)

- Biography

- Office Hours

- ...

My Entity Data Model defines "Member" as the base class for both Students and Instructors, since members can be both students as well as instructors simultaneously. The problem, however, occurs when I attempt to get a list of Members objects. Because the database contains members who are indeed students AND instructors, the following exception is thrown:

All objects in the EntitySet 'CountyCollegeEntities.BaseMembers' must have unique primary keys. However, an instance of type 'CountyCollege.NET.Administrator' and an instance of type 'CountyCollege.NET.Student' both have the same primary key value, 'EntitySet=BaseMembers;ID=10016'.

I am beginning to think that I made a mistake by building these classes to inherit from Member although it has been ideal up until this point. But before I start ripping up all my existing code to remove this inheritance, I thought I would see if anyone has any tricks that would make this work. Any advice as to either how I can get around this error or a more appropriate way to structure my classes would be very much appreciated.

View 2 Replies

Adding Record To DB - Button Click Event Won't Fire

Jun 20, 2011

I have a web page that contains a couple of button controls. The page is pretty simple, just trying to add a record to the DB. When I click the Submit button, every function/procedure that is supposed to be executed does execute except the Button Click Event. I've checked to make sure all occurrencs of the control are named correctly in the code-behind as well as the javascript. I've set the debugger to debug every function/procedure as well and nothing happens. Why this would occur.

View 5 Replies

DataSource Controls :: Using Views With EntityFramework Is Not Able To Recognize Primary Keys

May 2, 2010

Cannot seem to find a good fit for my question so I will ask here.

Does Asp.Net 4.0 solve the problems with using Views with EntityFramework is not able to recognize primary keys.

View 2 Replies

Forms Data Controls :: Update Record - Gridview Fired Event RowEditing Which Wasn't Handled

Dec 20, 2010

I am populating the gridview on the basis of listbox selection . However, I am setting the datasource in the click event after listbox entry. When i am trying to update any record in the gridview this error gets thrown because the datasourceid from the aspx page has been removed. Code for reference -

protected void btn_save_Click(object sender, EventArgs e)
{
ArrayList list = new ArrayList();
foreach (object o in ListBox2.Items)
{
list.Add(o);
}
string str2 = null, str, host;
string str1 = "SELECT SYSTEMNAME, DATETIME, PDOWNTIME, UDOWNTIME, SYSDOWNMINS, REASON FROM PLANNED_DOWNTIME where ";
host = Convert.ToString(list[0]);
str2 = " ( SYSTEMNAME like '" + host + "'";
for (int i = 1; i < list.Count; i++)
{
host = Convert.ToString(list[i]);
str2 = str2 + " or SYSTEMNAME LIKE'" + host + "'";
}
str = str1 + str2 + " )";
string connectstring = "Data Source=SRCPA035\ovops;Initial Catalog=reporter;Persist Security Info=True;User ID=sa;Password=ril123";
DataTable dt = new DataTable();
SqlConnection connection = new SqlConnection(connectstring);
try
{
connection.Open();
SqlCommand sqlCmd = new SqlCommand(str, connection);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlDa.Fill(dt);
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
GridView1.DataSource = SqlDataSource1;
}
catch (System.Data.SqlClient.SqlException ex)
{
string msg = "Fetch Error:";
msg += ex.Message;
throw new Exception(msg);
}
finally
{
connection.Close();
}
}

View 6 Replies

ADO.NET :: Update Single Item With EntityFramework - How To Update Object

Oct 27, 2010

I want to update object via entity framework

For example I have to changed object:

Obj1
Obj2

I want to save change to the Obj1 Only

[code]....

I try to Save with ApplyPropertyChanges but the data didn't saved

How can I update object?

View 2 Replies

Forms Data Controls :: Getting First Record In Nextpage And Last Record Of Previous Page Of Gridview?

Nov 16, 2010

I am using paging to my gridview (pagesize=4) . now i am in (X) page and i want to get (X+1) page top record or (X-1)page bottom record , how i can get .

View 2 Replies

Forms Data Controls :: Pop Up To Show When No Record Is Selected And Tell The User To First Select A Record?

Mar 21, 2011

I have a delete button bellow my gridview and I want a pop up to show when no record is selected and tell the user to first select a record. The button click event would show the pop up, but my gridview data blanks out.

Here is my code:

[Code]....

View 1 Replies

Web Forms :: How To Restore Last Record And Pass It Into The Details View As An Insert Record Again?

Feb 26, 2011

I'm very new on VWD, but I got the hang of it for the past 2 weeks(thank you for all the videos posted here in ASP.NET),but I'm really weak on the coding part(vb & c#),except for all the sample shown on the tutorials. Anyways, I have a simple project that
does insert, update & delete to SQL express using the details view. But to complete my project, I need to add a button that will create an event to restore the very last record inserted in SQL and display it back into the details view for minor modification
and nserted again as the newest record with the mod. I'm doing this so user, doesn't need to re-key-in redundant information, like names, original date & time etc, and just make modification on the description of the last record.....

View 2 Replies

DataSource Controls :: Row Count Shows 1 Record But There Is No Record In Database Table

Jun 24, 2010

I am counting from a table for that i have written code as below

protected void get_Id_Afterpoint()
{
int counter = 0;
string strSql = "select count(*) as ID from tblEnergy where ID=?";
OdbcCommand com = new OdbcCommand(strSql, con);
com.Parameters.AddWithValue("ID", DropDownList1.SelectedValue);
OdbcDataAdapter oda = new OdbcDataAdapter(com);
DataTable dt = new DataTable();
oda.Fill(dt);
if (dt.Rows.Count == 0)
{
lblID2.Text = "1";
}
else
{
counter = dt.Rows.Count;
counter = counter + 1;
lblID2.Text = Convert.ToString(counter);
}
}

there is no record related to DropDownList1.SelectedValue. but as i am counting if(dt.rows.count) and i put break point on the bolded part it shows 1 record. how it can be possible?

View 5 Replies

Forms Data Controls :: Want Users To Select A Record In The GridView And Then Have That Record Open Up In The Detailsview?

Oct 6, 2010

I want users to select a record in the GridView and then have that record open up in the Detailsview. How would I go about getting these two tools to communicate?

View 4 Replies

Forms Data Controls :: Selecting A Specific Record From Gridview And Displaying The Selected Record In Detailview

Aug 13, 2010

i have design a web application having suppliers table using SqlDatasource..

i have a master page in my design and other form are bound to a context menu..

Now i have displayed the records in the gridview..all i wanted is after i select a record in the gridview it will display the selected record in detailview from another aspx form..

i was able to create the link to another aspx form but the data that it display is the first data from the gridview not the data that i select.

View 3 Replies

Forms Data Controls :: Display Child Record Details On Click On Parent Record In Grid

Jul 6, 2010

i have one parent grid on which if user clicks a record ,the child details should get displayed on same page.

for example :

There is one department details table and employees table:

if user selects a record in department details grid,then employees in the selected department should get displayed in the next grid in the same page

View 2 Replies

Data Controls :: Call A Record On Datalist By Button Click And Display Record On FormView In Model

Apr 27, 2016

How to Call a record on datalist by button click and display record on formview in model using Username

Here is what i tried

 <asp:DataList ID="GetMergedAll." runat="server">
<asp:Label ID="Name" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Post" runat="server" Text="Label"></asp:Label>
<asp:LinkButton ID="LinkButton6" runat="server">LinkButton</asp:LinkButton>
</asp:DataList>
protected void Page_Load(object sender, EventArgs e)

[Code] ....

HTML

 model here

<asp:FormView ID="Post" runat="server">
<asp:Label ID="Name" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Post" runat="server" Text="Label"></asp:Label>
</asp:FormView>

View 1 Replies

Web Forms :: Select 3 Record For DB - Won't Enter Every Record In Label Or Textbox

Mar 15, 2011

I was Make code to select top 3 record from db and I wont to enter every record in label or textbox

[Code]....

View 6 Replies







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