<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://logicwiki.co.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.183.194.10</id>
		<title>Logic Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://logicwiki.co.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.183.194.10"/>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/Special:Contributions/46.183.194.10"/>
		<updated>2026-04-27T04:02:13Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=Connecting_ASP.NET_MVC_Application_to_Dynamic_CRM&amp;diff=841</id>
		<title>Connecting ASP.NET MVC Application to Dynamic CRM</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=Connecting_ASP.NET_MVC_Application_to_Dynamic_CRM&amp;diff=841"/>
				<updated>2016-05-11T08:38:47Z</updated>
		
		<summary type="html">&lt;p&gt;46.183.194.10: /* Nuget Package */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Dynamics]]&lt;br /&gt;
[[Category:MVC]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: {{{clear|right}}}; margin-bottom: .5em; float: right; padding: .5em 0 .8em 1.4em; background: none; width: {{{width|{{{1|auto}}}}}};&amp;quot; {{#if:{{{limit|}}}|class=&amp;quot;toclimit-{{{limit}}}&amp;quot;}}&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://community.dynamics.com/crm/b/scaleablesolutionsblog/archive/2016/01/04/connecting-asp-net-mvc-application-to-dynamic-crm https://community.dynamics.com/crm/b/scaleablesolutionsblog/archive/2016/01/04/connecting-asp-net-mvc-application-to-dynamic-crm]&lt;br /&gt;
== Nuget Package ==&lt;br /&gt;
 Install-Package Microsoft.CrmSdk.CoreTools &lt;br /&gt;
 Install-Package Microsoft.CrmSdk.Extensions&lt;br /&gt;
&lt;br /&gt;
== Create a new MVC project ==&lt;br /&gt;
new MVC app&lt;br /&gt;
== Add a connection string in the Web.config file ==&lt;br /&gt;
Microsoft Dynamics CRM uses the concept of connection string to connect to the Microsoft Dynamics CRM server. This is similar to the concept of connection strings used with Microsoft SQL Server.&lt;br /&gt;
Connection string for Online using Office 365:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:xml;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;connectionStrings&amp;gt;&lt;br /&gt;
&amp;lt;add name=&amp;quot;MyConnectionString&amp;quot; connectionString=&amp;quot;Server=you_server_Url; Domain=Your_domain; Username=administrator; Password=password;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/ connectionStrings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Connection string for Microsoft on Premise:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:xml;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;connectionStrings&amp;gt;&lt;br /&gt;
&amp;lt;add name=&amp;quot;MyConnectionString&amp;quot; connectionString=&amp;quot;Url=http://myserver/AdventureWorksCycle; Domain=mydomain; Username=administrator; Password=password;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/ connectionStrings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternatively&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:xml;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;connectionStrings&amp;gt;&lt;br /&gt;
    &amp;lt;add name=&amp;quot;Xrm&amp;quot; connectionString=&amp;quot;ServiceUri=https://dev-crm.rochdale.local/RochdaleDev/; Username=ROCHDALE_MBC\s-CRMIntegrationServ; Password=F3c9HFypwgfrD6;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/connectionStrings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* '''URL:''' Specifies the URL to the Microsoft Dynamics CRM organization.&lt;br /&gt;
* '''Username:''' User id of the Microsoft Dynamics CRM organization&lt;br /&gt;
* '''Password:''' Password of the Microsoft Dynamics CRM organization&lt;br /&gt;
* '''Domain:''' Specifies the domain that will verify user credentials.&lt;br /&gt;
&lt;br /&gt;
== Add the following assemblies from CRM SDK to your MVC project ==&lt;br /&gt;
* microsoft.crm.sdk.proxy.dll&lt;br /&gt;
* microsoft.xrm.sdk.dll&lt;br /&gt;
* microsoft.xrm.client.dll&lt;br /&gt;
 &lt;br /&gt;
Also add references to these assemblies from Visual Studio Assemblies.&lt;br /&gt;
* System.Runtime.Serialization&lt;br /&gt;
* System.ServiceModel&lt;br /&gt;
== Add new model to your project and add some properties ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
 public class AccountEntityModels&lt;br /&gt;
 {&lt;br /&gt;
   public Guid AccountID { get; set; }&lt;br /&gt;
   public string AccountName { get; set; }&lt;br /&gt;
   public int NumberOfEmployees { get; set; }&lt;br /&gt;
   public Money Revenue { get; set; }&lt;br /&gt;
   public EntityReference PrimaryContact { get; set; }&lt;br /&gt;
   public string PrimaryContactName { get; set; }&lt;br /&gt;
   public decimal RevenueValue { get; set; }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Make Data Access Layer(DAL) ==&lt;br /&gt;
Make a DAL Folder and add a new class “DAL_AccountEntity”. The purpose of this class is to handle all the data access to avoid complexity from controller class. Next, create “RetriveRecords” function in “DAL_AccountEntity” class. This function will retrieve all accounts and return the List as shown below.&lt;br /&gt;
Make sure to add references to the following assemblies first:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
using Microsoft.Xrm.Sdk;&lt;br /&gt;
using TestAppMVCAndCRM.Models;&lt;br /&gt;
using Microsoft.Xrm.Sdk.Query;&lt;br /&gt;
using Microsoft.Xrm.Client.Services;&lt;br /&gt;
 public List&amp;lt;AccountEntityModels&amp;gt; RetriveRecords()&lt;br /&gt;
 {&lt;br /&gt;
   using (OrganizationService service = new OrganizationService(&amp;quot;MyConnectionString&amp;quot;))&lt;br /&gt;
   {&lt;br /&gt;
     QueryExpression query = new QueryExpression&lt;br /&gt;
     {&lt;br /&gt;
      EntityName = &amp;quot;account&amp;quot;,&lt;br /&gt;
      ColumnSet = new ColumnSet(&amp;quot;accountid&amp;quot;,&amp;quot;name&amp;quot;, &amp;quot;revenue&amp;quot;, &amp;quot;numberofemployees&amp;quot;, &amp;quot;primarycontactid&amp;quot;)&lt;br /&gt;
     };&lt;br /&gt;
     List&amp;lt;AccountEntityModels&amp;gt; info = new List&amp;lt;AccountEntityModels&amp;gt;();&lt;br /&gt;
     EntityCollection accountRecord = service.RetrieveMultiple(query);&lt;br /&gt;
     if (accountRecord != null &amp;amp;&amp;amp; accountRecord.Entities.Count &amp;gt; 0)&lt;br /&gt;
     {&lt;br /&gt;
        AccountEntityModels accountModel;&lt;br /&gt;
        for (int i = 0; i &amp;lt; accountRecord.Entities.Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
           accountModel = new AccountEntityModels();&lt;br /&gt;
           if (accountRecord[i].Contains(&amp;quot;accountid&amp;quot;) &amp;amp;&amp;amp; accountRecord[i][&amp;quot;accountid&amp;quot;] != null)&lt;br /&gt;
               accountModel.AccountID = (Guid)accountRecord[i][&amp;quot;accountid&amp;quot;];&lt;br /&gt;
           if (accountRecord[i].Contains(&amp;quot;name&amp;quot;) &amp;amp;&amp;amp; accountRecord[i][&amp;quot;name&amp;quot;] != null)&lt;br /&gt;
               accountModel.AccountName = accountRecord[i][&amp;quot;name&amp;quot;].ToString();&lt;br /&gt;
           if (accountRecord[i].Contains(&amp;quot;revenue&amp;quot;) &amp;amp;&amp;amp; accountRecord[i][&amp;quot;revenue&amp;quot;] != null)&lt;br /&gt;
               accountModel.RevenueValue = ((Money)accountRecord[i][&amp;quot;revenue&amp;quot;]).Value;&lt;br /&gt;
           if (accountRecord[i].Contains(&amp;quot;numberofemployees&amp;quot;) &amp;amp;&amp;amp; accountRecord[i][&amp;quot;numberofemployees&amp;quot;] != null)&lt;br /&gt;
               accountModel.NumberOfEmployees = (int)accountRecord[i][&amp;quot;numberofemployees&amp;quot;];&lt;br /&gt;
           if (accountRecord[i].Contains(&amp;quot;primarycontactid&amp;quot;) &amp;amp;&amp;amp; accountRecord[i][&amp;quot;primarycontactid&amp;quot;] != null)&lt;br /&gt;
               accountModel.PrimaryContactName = ((EntityReference)accountRecord[i][&amp;quot;primarycontactid&amp;quot;]).Name;&lt;br /&gt;
          info.Add(accountModel);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      return info;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then, call the function we just created from Controller.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
public ActionResult Index()&lt;br /&gt;
{&lt;br /&gt;
  DAL_AccountEntity objDAL = new DAL_AccountEntity();&lt;br /&gt;
  List&amp;lt;AccountEntityModel&amp;gt; accountInfo = objDAL.RetriveRecords();&lt;br /&gt;
&lt;br /&gt;
 ViewBag.accountInfo = accountInfo;&lt;br /&gt;
  return View();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Update Index View ==&lt;br /&gt;
Now, to show the accounts retrieved from CRM, index view needs to be updated like given below:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
@model TestAppMVCAndCRM.Models.AccountEntityModels&lt;br /&gt;
@{&lt;br /&gt;
  ViewBag.Title = &amp;quot;Home Page&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
   &amp;lt;a href=&amp;quot;~/Home/AddNew&amp;quot;&amp;gt;Add New &amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
   &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;1&amp;quot; bgcolor=&amp;quot;#D8D8D8&amp;quot; class=&amp;quot;main_txt&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;100&amp;quot; align=&amp;quot;center&amp;quot; class=&amp;quot;header_bg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt; Account name &amp;lt;/a&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td width=&amp;quot;80&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt; Number of Employees &amp;lt;/a&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td width=&amp;quot;80&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt; Revenue &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td width=&amp;quot;70&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a href=&amp;quot;&amp;quot;&amp;gt; Primary Contact &amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;td width=&amp;quot;120&amp;quot; align=&amp;quot;center&amp;quot; class=&amp;quot;header_bg&amp;quot;&amp;gt;Action&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 @{&lt;br /&gt;
 string COLOR1 = &amp;quot;#ffffff&amp;quot;;&lt;br /&gt;
 string COLOR2 = &amp;quot;#f1f1f1&amp;quot;;&lt;br /&gt;
 string bgcolor = &amp;quot;#ffffff&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 @foreach (var x in ViewBag.accountinfo)&lt;br /&gt;
 {&lt;br /&gt;
    bgcolor = bgcolor == COLOR1 ? COLOR2 : COLOR1;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;@bgcolor&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&lt;br /&gt;
        @x.AccountName&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
        @x.NumberOfEmployees&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
       @x.RevenueValue&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
       @x.PrimaryContactName&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&lt;br /&gt;
       &amp;lt;a href=&amp;quot;~/Home/Delete/@x.AccountID&amp;quot;&amp;gt;Delete Account &amp;lt;/a&amp;gt;&lt;br /&gt;
       &amp;lt;a href=&amp;quot;~/Home/AddNew/@x.AccountID&amp;quot;&amp;gt;Edit Account &amp;lt;/a&amp;gt;&lt;br /&gt;
     &amp;lt;/td&amp;gt;&lt;br /&gt;
   &amp;lt;/tr&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Make sure you are using .NET Framework 4.5.2 and run the project. &lt;br /&gt;
== Add additional features e.g.  Add, Edit and Delete ==&lt;br /&gt;
First of all, add a controller for Add New as shown below:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
  public ActionResult AddNew()&lt;br /&gt;
  {&lt;br /&gt;
    DAL_AccountEntity objDAL = new DAL_AccountEntity();&lt;br /&gt;
    List&amp;lt;Microsoft.XRM.Sdk.EntityReference&amp;gt; refUsers =  = objDAL.GetEntityReference();&lt;br /&gt;
    if(refUsers.Count &amp;gt; 0)&lt;br /&gt;
    {&lt;br /&gt;
        ViewBag.EntityReferenceUsers = new SelectList(refUsers, &amp;quot;id&amp;quot;, &amp;quot;Name&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  return View();&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the ‘Primary Contact’ lookup field we will retrieve contacts and display them in Drop down list. To do that, we will create GetEntityReference function as shown below:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
public List&amp;lt;Microsoft.Xrm.Sdk.EntityReference&amp;gt; GetEntityReference()&lt;br /&gt;
 {&lt;br /&gt;
   try&lt;br /&gt;
   {&lt;br /&gt;
     List&amp;lt;Microsoft.Xrm.Sdk.EntityReference&amp;gt; info = new List&amp;lt;Microsoft.Xrm.Sdk.EntityReference&amp;gt;();&lt;br /&gt;
     using (OrganizationService service = new OrganizationService(&amp;quot;MyConnectionString&amp;quot;))&lt;br /&gt;
     {&lt;br /&gt;
       QueryExpression query = new QueryExpression&lt;br /&gt;
       {&lt;br /&gt;
          EntityName = &amp;quot;contact&amp;quot;,&lt;br /&gt;
          ColumnSet = new ColumnSet(&amp;quot;contactid&amp;quot;, &amp;quot;fullname&amp;quot;)&lt;br /&gt;
       };&lt;br /&gt;
       EntityCollection PrimaryContact = service.RetrieveMultiple(query);&lt;br /&gt;
       if (PrimaryContact != null &amp;amp;&amp;amp; PrimaryContact.Entities.Count &amp;gt; 0)&lt;br /&gt;
       {&lt;br /&gt;
          Microsoft.Xrm.Sdk.EntityReference itm;&lt;br /&gt;
          for (int i = 0; i &amp;lt; PrimaryContact.Entities.Count; i++)&lt;br /&gt;
          {&lt;br /&gt;
             itm = new EntityReference();&lt;br /&gt;
             if (PrimaryContact[i].Id != null)&lt;br /&gt;
                itm.Id = PrimaryContact[i].Id;&lt;br /&gt;
            if (PrimaryContact[i].Contains(&amp;quot;fullname&amp;quot;) &amp;amp;&amp;amp; PrimaryContact[i][&amp;quot;fullname&amp;quot;] != null)&lt;br /&gt;
                itm.Name = PrimaryContact[i][&amp;quot;fullname&amp;quot;].ToString();&lt;br /&gt;
            itm.LogicalName = &amp;quot;contact&amp;quot;;&lt;br /&gt;
            info.Add(itm); }&lt;br /&gt;
           }&lt;br /&gt;
         }&lt;br /&gt;
         return info;&lt;br /&gt;
   }&lt;br /&gt;
  catch (Exception ex)&lt;br /&gt;
  {&lt;br /&gt;
    return null;&lt;br /&gt;
   } &lt;br /&gt;
 }&lt;br /&gt;
The View would look like this:&lt;br /&gt;
@model TestAppMVCAndCRM.Models.AccountEntityModels&lt;br /&gt;
@{&lt;br /&gt;
 ViewBag.Title = &amp;quot;AddNew&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@using (Html.BeginForm())&lt;br /&gt;
{&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td width=&amp;quot;150px&amp;quot;&amp;gt;Account Name&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&lt;br /&gt;
 @Html.HiddenFor(m =&amp;gt; m.AccountID)&lt;br /&gt;
 @Html.EditorFor(m =&amp;gt; m.AccountName)&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Number of Employees&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&lt;br /&gt;
 @Html.EditorFor(m =&amp;gt; m.NumberOfEmployees)&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td width=&amp;quot;150px&amp;quot;&amp;gt;Revenue&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&lt;br /&gt;
 @Html.EditorFor(m =&amp;gt; m.Revenue)&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;Primary Contact&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&lt;br /&gt;
 @Html.DropDownListFor(model =&amp;gt; model.PrimaryContact.Id, (SelectList)ViewBag.EntityReferenceUsers)&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 @Html.ActionLink(&amp;quot;Back to List&amp;quot;, &amp;quot;Index&amp;quot;)&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;/table&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;/table&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In case of edit, we will pass the Guid of the record to be edited. The following function will do the job:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
public AccountEntityModels getCurrentRecord(Guid accountId)&lt;br /&gt;
{&lt;br /&gt;
AccountEntityModels accountModel = new AccountEntityModels();&lt;br /&gt;
using (OrganizationService service = new OrganizationService(&amp;quot;MyConnectionString&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
ColumnSet cols = new ColumnSet(new String[] { &amp;quot;name&amp;quot;, &amp;quot;revenue&amp;quot;, &amp;quot;numberofemployees&amp;quot;, &amp;quot;primarycontactid&amp;quot; });&lt;br /&gt;
Entity account = service.Retrieve(&amp;quot;account&amp;quot;, accountId, cols);&lt;br /&gt;
accountModel.AccountID = accountId;&lt;br /&gt;
accountModel.AccountName = account.Attributes[&amp;quot;name&amp;quot;].ToString();&lt;br /&gt;
accountModel.NumberOfEmployees = (int)account.Attributes[&amp;quot;numberofemployees&amp;quot;];&lt;br /&gt;
accountModel.RevenueValue = ((Money)account.Attributes[&amp;quot;revenue&amp;quot;]).Value;&lt;br /&gt;
accountModel.PrimaryContact = (EntityReference)account.Attributes[&amp;quot;primarycontactid&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
return accountModel;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The code behind on save is given below:&lt;br /&gt;
&lt;br /&gt;
public void SaveAccount(AccountEntityModels objAccountModel)&lt;br /&gt;
 {&lt;br /&gt;
 using (OrganizationService service = new OrganizationService(&amp;quot;MyConnectionString&amp;quot;))&lt;br /&gt;
 {&lt;br /&gt;
 Entity AccountEntity = new Entity(&amp;quot;account&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (objAccountModel.AccountID != Guid.Empty)&lt;br /&gt;
 {&lt;br /&gt;
 AccountEntity[&amp;quot;accountid&amp;quot;] = objAccountModel.AccountID;&lt;br /&gt;
 }&lt;br /&gt;
 AccountEntity[&amp;quot;name&amp;quot;] = objAccountModel.AccountName;&lt;br /&gt;
 AccountEntity[&amp;quot;numberofemployees&amp;quot;] = objAccountModel.NumberOfEmployees;&lt;br /&gt;
 AccountEntity[&amp;quot;revenue&amp;quot;] = objAccountModel.Revenue;&lt;br /&gt;
 AccountEntity[&amp;quot;primarycontactid&amp;quot;] = new Microsoft.Xrm.Sdk.EntityReference { Id = objAccountModel.PrimaryContact.Id, LogicalName = &amp;quot;account&amp;quot; };&lt;br /&gt;
&lt;br /&gt;
if (objAccountModel.AccountID == Guid.Empty)&lt;br /&gt;
 {&lt;br /&gt;
 objAccountModel.AccountID = service.Create(AccountEntity);&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
 service.Update(AccountEntity);&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And in last the Delete functionality can be achieved like below&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:c-sharp;&amp;quot;&amp;gt;&lt;br /&gt;
public ActionResult Delete(Guid id)&lt;br /&gt;
{&lt;br /&gt;
using (OrganizationService service = new OrganizationService(&amp;quot;MyConnectionString&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
service.Delete(&amp;quot;account&amp;quot;, id);&lt;br /&gt;
return Redirect(&amp;quot;~/Home&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>46.183.194.10</name></author>	</entry>

	</feed>