Sunday, March 1, 2015
C LINQ Query on SQL Server View using Entity Framework 5 returns duplicate rows because of non unique values in records first colum
How-I-fixed-it:
I found the right hints here: http://stackoverflow.com/questions/3977920/entity-framework-view-return-duplicate-records
and here:
http://jepsonsblog.blogspot.in/2011/11/enitity-framework-duplicate-rows-in.html?showComment=1348809764880#c1389404724781617559
The Problem was, that the FIRST column of my view was not a unique key, which seems to confuse EF.
Running the query in Management Studio returned:
Col1,Col2,Col3
1,0,1
1,1,1
1,2,1
2,0,7
In my code the result list of records was:
Col1,Col2,Col3
1,0,1
1,0,1
1,0,1
2,0,7
According to http://stackoverflow.com/questions/3977920/entity-framework-view-return-duplicate-records its important, that the first colum of the query result contains a unique key:
When including a view in your Entity Model, the model seems to simply use the first not-nullable columns as primary key (as all columns used in the primary key should be non-nullable).
The suggestion how to fix it is to use the ROW_NUMBER () OVER () SQL to create an additional FIRST column in you view which has unique keys. Then update the model in Visual Studio.
Subscribe to:
Post Comments (Atom)


No comments:
Post a Comment