Archive for the ‘Entity framework’ Category

CommunicationException get thrown when returning collection from entity framework with WCF service

September 22, 2013 Leave a comment

Hello All, Again some issue with Two technologies (WCF and Entity framework).

I have a service method which return entity object with child entity as a collection. But when it returning response to end client it is throwing something out of mind exception. it says

“CommunicationException get thrown: An error occurred while receiving the HTTP response to http://localhost:8080/. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.”

Firstly, I didn’t understood the exception that what is happening. I researched through fiddler and other tools but i did not got any proper error details. nothing was going on way.

So I used a trick to serialize the returning collection prior to sending to client. And my trick got worked, When serializing the object I received “A circular reference was detected while serializing an object “.

So after searching on net i found that navigation property inside child element for parent entity was creating the issue. It was serializing child and parent entities again and again.


So after removing parent navigation property from child entity I was able to return parent and child records without any error.

Please note that this problem will only occur when you are serializing the entity object.

Please post me with such issues which you have faced with WCF and Entity framework so it will help other who are facing the issue & wasting their time researching the error.

Thank you,


Silverlight 4 example with MVVM

October 10, 2011 Leave a comment

Hello guys,

Its Monday and now back to work, thought to post an article on what i have grasped so far,

Let me post an example which illustrates the basic of MVVM, i will show the steps how can we bind grid with data from Viewmodel insted of doing that from code behind.

Basic of MVVM: MVVM is a Microsoft’s pattern and practice to apart the logic from view, so it can be vision like a loosely coupled architecture. All the things will work with Binding in designing.

Who can follow MVVM: Frankly speak, Architectures have their pros and cons, If the team wants to work considering future of application in terms of ease of understanding and for integration & testing friendly, strictly follow MVVM. if project is running in short of time and if team don’t have learning curve then it would be better to avoid.

Tools and Technology used:

I am using VS 2010 as development IDE With ReSharper for Code refactoring , WCF RIA service,  Galasoft MVVM light toolkit as MVVM framework.

Galasoft toolkit has many features which will ease your MVVM development, it has APIs for Commanding and Messaging.

You  can also find different MVVM frameworks and compare them to use in your developement here

So lets jump to MVVM:

Firstly i am going to narrate the basic view model integration with XAML view, also commanding which will handle inside the view model,

So, First open VS and create new silverlight business application(check the RIA link is enabled on Silverlight -> Properties)

Now add one folder inside Silverlight project named “Viewmodel”, inside it add one  class name it “EmployeeViewModel”. Implement INotifyPropertyChanged interface and implement the method & event of INotifyPropertyChanged interface.

below should be your code look like,

<br />
private IQueryable employeProp;</p>
<p>public IQueryanle EmployeeProp</p>
<p>get { return  employeProp;}</p>
<p> if(employeProp != value)</p>
<p>employeProp = value;</p>
<p>return;<br />
<p>}<br />

Now we need to get data in this collection, lets add a method in default constructor which will loads data from employee table.
Once it is done move to XAML and add datacontext & bind grid to collection of employee (below are the steps).
There are multiple ways to give Viewmodel context to view. lets go first with XAML designing,

1] Add namespace for view model class xmlns:vm=”clr-namespace:Basic_MVVM_App.ViewModel”
2] Use one of two of below code,

<br />
&lt;UserControl.Resources&gt;<br />
MainViewModel x:Key=&quot;MainViewModel&quot;&gt;<br />
&lt;/UserControl.Resources&gt;<br />

if above one is used then we have to assign datacontext on some control, in my code i have assigned it on Parent Grid

<br />
StaticResource MainViewModel }}&gt;<br />

//MainViewModel is the key name which

is created in Resources. Here Big thing to take care is StaticResource property. if you forget to add you it means binding isn’t established between view and Viewmodel.

b. Use below line in your designing,

<br />
&lt;UserControl.DataContext&gt;<br />
&lt;Binding Source=&quot;{StaticResource MainViewModel}&quot; /&gt;<br />
&lt;/UserControl.DataContext&gt;<br />

if above one is used then there is no need to assign data context on any control.

Another way assigning data context is on code behind like, In Loaded event of your code behind, add below code
Datacontext = new EmployeeViewModel(); // name of your view model

Now add data grid control and on Itemsource property add

ItemsSource=&quot;{Binding Path=PagedView, Mode=TwoWay}&quot;.<br />

Thats it!! you are done with basic example of MVVM.

What is next?

I will post my next article on Commanding to handle event in Viewmodel


Silverlight and RIA services

September 10, 2010 Leave a comment

Silverlight 4.0 release is ships with a new WCF RIA framework,

In context of silverlight application, as they span across client machines and from there they calls service to provide data to user. So we can come up with architecture which is something like below,

(Gap between Client and server side)

On the left side it is Silverlight client application and data access on the right hand side.

Between this two is “the central gap”(Question mark) which has to be cover by some kind of distributed technology and we have several possibilities in silverlight such as the following listed in order they are layered on each other,

1]Via Sockets

2]Via HTTP : This can be possible by passing backward and forward xml.

3]Via Windows communication foundation: There are two ways to communicate with silverlight first is via HTTP and another is Via TCP.

Silverlight is a one possible client for WCF Data Services and the client library does offer some higher level abilities than basic CRUD over entity sets with capabilities such as;

  • Can turn LINQ formed queries into URI based syntax compatible withOData
  • Auto tracking of changes made to entities ( and entity sets ) returned from WCF Data Services to make for automatic submission of changes
  • Can deal with concurrent updates and the errors/retries that are needed to deal with those situations
  • batching of queries/modifications to the server

but the still level of “linking” between client and services is still low.

Consequently, in RIA Services application there is the tooling and framework support for sharing a richer set of objects between the client and the service than you’d see with a solution built around something lower level like a pure WCF solution allowing for a lot less friction in terms of;

  • Ability of server database entity available on client side.
  • Flexibilty for Searialized queries development on client side which will be then available on server for execution purpose.
  • Provives automatic trailing of entity changes on client side.
  • Built in validation mechanism.
  • You can add your any arbitary code on server side for business logic.
  • It provides buiit in services like membership, roles, profile with a Silverlight client.

Note: “ RIA not only support silverlight application but can also work with AJAX applications too.”

There is a nice video on WCF RIA service implementation which you can view from here,
Reference article for getting started:  Getting started

Why do i go with entity framework?

September 3, 2010 Leave a comment

I read up at number of places that why should i go with entity framework rather with L2S,nHiebernet or

But i found a useful link for you all to help you out to understand the exact features which are more helpful to you than other ORM tool,

Click here for complete detail,