Sql Server Archives - Digital Tool Factory blog Sql Server Archives - Digital Tool Factory blog

The Digital Tool Factory Blog

The peculiar problem when your entity framework query returns the same row for every record

This one had me confused for a long time, several hours in fact.  There were over 8,000 rows in the table, and the for some reason the query was returning the same row 8,000 times.  After much rending of garments and gnashing of teeth, I discovered that the table in question (in a sql server 2000 database (not created by me)) had no primary key defined.

So – I copy the data into a new table, create a key with the commands

alter table TableInQuestion
add NewIDColumn int identity(1,1)

Delete the empty key field (that was what threw me, there was a column named “Id”, which was not actually and ID column.) rename “NewIDColumn” to “Id”, then point EF to the new table with the data attribute (on the object)


and everything works like a charm


Sep 17

Written By Steve French


Connecting Entity Framework to Sql Server 2000

A lesson learned – when trying to map Entity Framework to Sql Server 2000  (if you must) – make sure that there are no nullable dates – if so, work around them.  I just spent hours looking into that.

Jul 17

Written By Steve French


How to create a Sql Azure database with Entity Framework codefirst

'King Cloud' photo (c) 2007, Karen Ka Ying Wong - license: http://creativecommons.org/licenses/by-sa/2.0/I’ve lately begun to use Windows Azure, and I thought I would start blogging about it as well.

Sql Azure database with entity framework codefirst – the song remains the same

As I am deeply committed to using ASP.net MVC 3 with Entity Framework CodeFirst, I thought at first moving to Azure might be a problem, as Sql Azure is marketed as a cousin to Sql Server, and not the real thing.  Happily that seems not to be the case.

I searched for a guide on how to use Entity Framework Codefirst with Sql Azure and couldn’t find one – so I just up and tried it and it worked quite well.  It works just like the regular Codefirst method, only you must specify the proper sql azure database in the web.Debug.config and the web.Release.config files.  Furthermore, that database must not already exist.  The Windows Azure admin screens strongly guide you in the direction of creating an initial database, but I’ve found if you just delete your default database it will create one for you.

So, in sum, you just treat Sql Azure the same as you would any other Sql Server database.  I’m not sure why Microsoft is marketing it as something radically different, but so far I have not discovered any meaningful differences between the two systems.

May 12

Written By Steve French


How to fix the “Could not read metadata, possibly due to insufficient access rights” error in Sql Server 2008

The Problem

You are doing the responsible thing and make a backup before you make any crazy changes to your Sql Server 2008 database.  You choose the option that gives you the most flexibility and decide to script your backup.  Who knows where this backup will eventually go?

You go through the Tasks>Script Database, and you get the following error

Microsoft.SqlServer.Management.Smo.SmoException: Could not read metadata, possibly due to insufficient access rights. at Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

The Cause

If I had to guess, I would say that the scripting engine is assuming too much in terms of login.  In any case, just try the option below.

The Solution

Instead of having the “Script Entire Database and Database Objects” radio button checked, instead select “Select specific database options” and just check all three options.  That gives you a large text file containing your database scheme and all of the data that your database contains.

Mar 12

Written By Steve French


Copyright 2011 Digital Tool Factory. All Rights Reserved. Powered by raw technical talent. And in this case, WordPress.