DataSource Controls :: LINQ / Insert Records Without Having Primary Key?
Apr 29, 2010
I am using LINQ Expression to insert records in SQL Table. My Table dosen's have any Primary Key Field. Whenever I Am trying to Insert Records in Table using LINQ Expression, this always occurs an Error that 'the Table You are using to insert Dosen't Have Any Primary Key Field.
How I Will Insert Records Without Having Primary Key ?
When a user creates an account for my web application using the create user wizard additional steps have been added to take more details and store them in another table. Now this tables primary key is set to uniqueidentifier, is it possible to have that unique identifier automatically generated when the query is run to insert a new row for a new user?
Region ( ID int, Name varchar(50), Description varchar(51) )
One thing I can use is to retrieve the max(ID) from region and store it in a variable and increment the variable sequentially and insert. But, if any other user inserts a record while I am executing this script then max(id) might clash with the id inserted with other user causing my script to fail.
Is there any other option to insert record sequentially base on the highest number in the table.
Conseptually what I'm doing is simple, and technically it may even be simple, but I'm still rusty. Here's what I'm trying to do:
I have a webform that allows the user to enter a new record, and in there I have also included a couple FileUpload controls. Upon clicking the "Save" button, I'm saving the details entered into one table (ITEMS), and also inserting the FileUpload details (path, id, upload_user) into another table ATTACHMNTS). Because one ITEM can have many attachments, I needed to split the tables up. So on save, I need to save the ITEM, save the ATTACHMENT, and then also put the ITEM_ID in the ATTACHMENT table. I'm second guessing myself because I think all I'd have to do is after I do the ITEM insert, do a SELECT MAX on the ITEM table and hold the newest (MAX) id in a variable and then use it in the ATTACHMENTS update. I'm not 100% on this because there IS a chance that someone else could save a few milliseconds later and I'll link the wrong ITEM. See my delima?
Suppose we have a website with 10,000 viewers each second. And we want to insert the viewer's information to the SQL database. So we must insert 10,000 records to the SQL each second. And it may take long time to do.
I have code for inserting a record into the db, it works fine from the admin part of my website but when i put it on the customer side duplicate records are inserted into the db, any ideas? I cant for the life of me see why. I have just also noticed that when i add the claim the first time it adds the duplicate entry, if i press the button again it only adds the entry once, if i refresh the page add the info again, 2 entries, click add again 1 entry?
I worked with LINQ to SQL to insert and delete the data,but i want to use LINQ TO ENTITY to insert the data but i know LINQ to ENTITY is used for querying the database.I have searched the code for inserting records but i dint get any.
I trying to create a search mechanism for records in a EDM based on text entered on a text box in a web page.
For example, if I enter a partial name of a customer and/or state abrebiation for that customer on the Text Box (abc, TX)s, I want to search name and state fields in a Customer table in my database for matching customers.
I found a solution with the namespaceSystem.Linq.Dynamic, but for some reason it is not working. It does not expose the Search() method. Here is the code I am using to perform the search;
I have two tables namely "CategoryMapping" and "PartnerCategory"...The partnercategory table has foreign key with categorymapping on CategoryID...
let us say categorymapping should be filed first then partnercategory should be filed based on the categories defined in categorymapping. For example my two tables have the following data:
I am using Visual studio 2010 express and I have a details view databinded to an sql database table. When I use the Insert option on the view it causes an error due to it trying to insert a null into the primary key field. If the Insert function does not create a new primary key entry how is it created?
I have Gridview on my webapplication and it is getting filled with multiple rows . When clicked on Save I want to Insert all rows without calling multiple database hits.
Is there any way I can insert all rows by single db hit?
I have a basic CMS which I'm adding to a site to display some downloads organised into groups. I have two tables, one for the groups and one for the downloads. I'm using a repeated to display the groups with another repeater inside to display the children. This works perfectly.
However some of my download groups may not have any downloads related to them and I'd like to handle this by filter the groups so that only those with a relate download record(s) are shown.
I'm trying to do this with the query which populates the top repeater based on some ideas I read but I must be going wrong with the syntax.
Here is what I'm using to try and only select downloads groups which have downloads linked to them by the download group ID.
[Code]....
Can anyone offer any thoughts on how I should construct the query to perform this?
I am trying to do an update and if no selection has been made in a dropdownlist (integer) or date field I would like to insert a dbnull value. But I am new to Linq to Sql and wonder if this is possible and if so how to process. I have the following code but the DBNull.Value is giving me an error.
Dim context As New SondageDataContext() Dim repondant = (From r In context.Repondants Where r.RefRepondant = iRefRepondant Select r).Single repondant.Prenom = strPrenom repondant.Nom = strNom 'dates If dtAdhesion > Date.MinValue Then repondant.DateAdhesion = dtAdhesion else repondant.DateAdhesion = DBNull.Value End If 'Integer for dropdownmenu If iOccupation <> -1 Then repondant.RefOccupation = iOccupation Else repondant.RefOccupation = DBNull.Value End If context.SubmitChanges()
I use the following code to insert recode to a sql 2008 table, the field ID of DBProgram is IDENTITY, so SQL 2008 SERVER will pass a value to it automatically. How can I get the ID value of the record I just insert ?
DBProgram dbProgram = new DBProgram(); db.DBPrograms.InsertOnSubmit(dbProgram); db.SubmitChanges();
I tried to find a LINQ section on this forum, but couldn't, so I'll post this here since is deals with LINQ, C#, MVC, SQL Server, and well...just about everything.
Here's the details....My Application is an ASP .Net MVC 1.0 app, using C# 3.5, SQL Server 2005 Std, and LINQ to Entity.
In my View, I have numerous Html.CheckBox controls, they get passed to my Controller as a string collection via a JQuery Ajax call. The values of each checkbox are seperated by a comma(,). I then Split the string, to get the individual values. The overall purpose to to allow users to build a custom report with only the data elements they have checked the boxes for. Here is my controller:
[Code]....
The part that I am having a problem with is that I only want to Insert the data elements into my DB table for the ones that the user has selected the checkbox for. So, for example, I'd like to do something like this:
[Code]....
I don't know if there is a LINQ switch statement in which I can access outside variables and the columns of the table, or any thing like that.
I'm new onto LINQ and im working on a asp.net application which uploads a requisition from a preformated text file that is coming from another application.
I'm new to Linq. I have searched and searched the web for a soluion, and can't find anything. I have a Linq query and I want to insert a row ("Select User") to the top before I pass it to the drop down list. I've been trying to use the Union but to now avail (it keeps telling me that my object doesn't support the Union method). My code, prior to attempting to inser a row, is very simple.
public SelectList DropDown_Users() { var context = new VivarianDataContext(); var query = from t in context.AspnetUsers select new { t.UserId, t.LastName }; list = new SelectList(query.AsEnumerable(), "UserId", "LastName"); return list; }
Now I try to insert a row and I found this on the internet and it seems to say that his solution will work. But it is filled with syntax errors. [URL]
I tried to implement it using the following code, but it doesn't compile.
public SelectList DropDown_Users() { SelectList list; //get the original data var context = new SQL2005633131VivarianDataContext(); var query = from t in context.AspnetUsers select new { t.UserId, t.LastName }; //create a dummy table with an empty row var AllUsers = new List<AspnetUsers>(); var BlankUser = new AspnetUsers() {UserId=System.Guid.Empty, LastName="Select One"}; AllUsers.Add(BlankUser); //use Union to join the data - ERRORS HERE var newTable = AllUsers.Union(query); list = new SelectList(newTable.AsEnumerable(), "UserId", "LastName"); return list; }
Let's say I have a table that holds information about books, with a column called bookid as a primary key with auto increment of 1. When I create a couple of records, it assigns 1 to the first row and 2 to the second row for the bookid column. If I delete the second row and enter another row, even though table now only has 2 records, the primary key column says 1 and 3 for their bookids. Is it possible to change back the bookid of the second record from 3 to 2 or is it just server assigned and can't be changed.