Skip to main content

RETURNING SCOPE_IDENTITY() IN LINQ

Microsoft's Language Integrated Query is no doubt one of the most thrilling data access capability I cherish. This is just because of the flexibility you have in writing your queries within your code.

The power of LINQ is not limited to the data access as in (LINQ to SQL). LINQ can be used to query the active directory, XML, SharePoint lists etc.

Today I will like to discuss how to return @@IDENTITY or SCOPE_IDENTITY() in LINQ. The simple answer is to read the Id value you require immediately after submitting your changes.

e.g.

DataContext db = new ClassesDataContext();

PATIENT_DETAIL p = new PATIENT_DETAIL();

p.Address1 = txtAddress1.Text;
p.Address2 = txtAddress2.Text;
p.Address3 = txtAddress3.Text;
p.Address4 = txtAddress4.Text;

db.PATIENT_DETAILs.InsertOnSubmit(p);

db.SubmitChanges();

int myId = p.PASNumber; // This returns the Id generated by the database (where PASNumber represents the Primary key to be returned.)


QED

Comments

Anonymous said…
this is great. Do you have a VB example?

thanks!
Dim db As DataContext = New ClassesDataContext()

Dim p As New PATIENT_DETAIL()

p.Address1 = txtAddress1.Text
p.Address2 = txtAddress2.Text
p.Address3 = txtAddress3.Text
p.Address4 = txtAddress4.Text



db.PATIENT_DETAILs.InsertOnSubmit(p)

db.SubmitChanges()

Dim myId As Integer = p.PASNumber
Jahja.nl said…
How about when you insert multiple items (InserOnSubmit()), and at the end calling SubmitChanges().

How can I return the scope_identity() then?

J
dan rogy said…
My current project requires ability to display choice column value via color or image associated with a choice

But Sharepoint standard packaged misses that control

I am looking for available solutions on market

I came across

http://sharepointfields.com


Does anybody has experiece using it?

Popular posts from this blog

Event Date Function

  Date.toISOFormat = function (date, ignoreTime) {      /// <summary>Date object static method to format a date to date ISO string - YYYY-MM-DDThh:mm:ssZ</summary>      /// <param name="date" type="Date" mayBeNull="false" optional="false"></param>      /// <param name="ignoreTime" type="Boolean" mayBeNull="false" optional="true"></param>      /// <returns type="String">A string representing ISO format for specied date</returns>        // If not specified, time is ignored      var ignoreTime = ignoreTime || {};        function pad(number) {          // Add leading 0 if number is less then 10 (enclosed method)          var r = String(number);          if (r.length ==...

The _spPageContextInfo

I f you are creating a SharePoint app using JavaScript and the Client side object model you need this friendly object. In the development of an app, you would require some basic properties- SharePoint as a framework provides these with the  _spPageContextInfo  object. _  spPageContextInfo  will provide these below properties:  webServerRelativeUrl  webAbsoluteUrl siteAbsoluteUrl serverRequestPath layoutsUrl webTitle webTemplate tenantAppVersion isAppWeb webLogoUrl webLanguage currentLanguage currentUICultureName currentCultureName env nid fid clientServerTimeDelta updateFormDigestPageLoaded siteClientTag crossDomainPhotosEnabled webUIVersion webPermMasks pagePersonalizationScope userId userLoginName systemUserKey alertsEnabled siteServerRelativeUrl allowSilverlightPrompt themedCssFolderUrl themedImageFileNames

PublishingAssociatedContentType

The Content Type to be associated with a page layout is indicated by the 'PublishingAssociatedContentType'. In the actual sense it means a binding setting between the Page Layout and the content type. If you fail to provide one, the SharePoint framework will make use of the Page Content type. The format of the binding is: ';# e.g. ';#ContentPage;#0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900470b13dd348649d08f9e5151501df9a4000dbd46dad8d045f98c83ad983b66d3f2;#'. where Content Type name: ContentPage Content Type ID: 0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900470b13dd348649d08f9e5151501df9a4000dbd46dad8d045f98c83ad983b66d3f2 respectively. QED