2014-09-09 4 views
0

У меня есть DER.edmx, и в DER.Designer.cs есть это автоматически генерируемый кодNullReferenceException на Entity Framework конструктора

public SiGMAEntities(string connectionString) : base(connectionString, "SiGMAEntities") 
{ 
    this.ContextOptions.LazyLoadingEnabled = true; 
    OnContextCreated(); 
} 

линия, которая бросает исключение составляет

public SiGMAEntities(string connectionString) : base(connectionString, "SiGMAEntities") 

Пару дней назад, все работало но мне пришлось переустанавливать Windows по другим причинам, и, конечно же, VS и SQL Server. Исключение произошло, когда я снова хотел начать работу над проектом.

Стек след

[NullReferenceException: Object reference not set to an instance of an object.] 
    System.Collections.Generic.Dictionary`2.System.Collections.IDictionary.Remove(Object key) +48 
    System.Data.Metadata.Edm.MetadataWorkspace.RegisterDefaultObjectMappingItemCollection() +95 
    System.Data.Metadata.Edm.MetadataWorkspace.GetItemCollection(DataSpace dataSpace, Boolean required) +124 
    System.Data.Metadata.Edm.MetadataWorkspace.GetItemCollection(DataSpace dataSpace) +48 
    System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor) +438 
    System.Data.Objects.ObjectContext..ctor(String connectionString) +65 
    System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) +37 
    AccesoADatos.SiGMAEntities..ctor(String connectionString) in E:\Documentos(NO BORRAR)\Documentos de GonDC\Facu\SiGMA\asd - Copy\trunk\AccesoADatos\DER.Designer.cs:79 
    AccesoADatos.Conexion.crearSegunServidor() in E:\Documentos(NO BORRAR)\Documentos de GonDC\Facu\SiGMA\asd - Copy\trunk\AccesoADatos\Conexion.cs:27 
    AccesoADatos.Datos.TiposDNI() in E:\Documentos(NO BORRAR)\Documentos de GonDC\Facu\SiGMA\asd - Copy\trunk\AccesoADatos\Datos.cs:14 
    Herramientas.CargarCombos.cargarTipoDocumento(DropDownList& ddl) in E:\Documentos(NO BORRAR)\Documentos de GonDC\Facu\SiGMA\asd - Copy\trunk\Herramientas\CargarCombos.cs:30 
    SiGMA._Default.Page_Load(Object sender, EventArgs e) in E:\Documentos(NO BORRAR)\Documentos de GonDC\Facu\SiGMA\asd - Copy\trunk\SiGMA\RegistrarUsuario.aspx.cs:26 
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51 
    System.Web.UI.Control.OnLoad(EventArgs e) +92 
    System.Web.UI.Control.LoadRecursive() +54 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772 
+0

Можете ли вы предоставить трассировку стека для исключения? –

+0

Done, отредактировал сообщение – Benzil

+0

Можете ли вы опубликовать приведенный здесь код: AccesoADatos.SiGMAEntities..ctor (String connectionString, String asd) в E: \ Documentos (NO BORRAR) \ Documentos de GonDC \ Facu \ SiGMA \ asd - Копировать \ trunk \ AccesoADatos \ DER.Designer.cs: 79 –

ответ

0

Это может произойти, если вы не имеете право ConnectionString указано в вашем App.config или web.config. Убедитесь, что запущенные приложения App.config или web.config соответственно содержат connectionString, которые вы указали при определении модели базы данных. Что-то вроде этого:

<connectionStrings> 
    <add name="SiGMAEntities" connectionString="metadata=res://*/xxx.csdl|res://*/xxx.ssdl|res://*/xxx.msl;provider=System.Data.SqlClient;provider connection string=&quot;xxx&quot;" providerName="System.Data.EntityClient"/> 
</connectionStrings> 

ххх просто заполнитель для ваших вещей

+0

Нет, я проверил строки подключения, как 10 раз за последние пару часов. – Benzil

+0

Речь идет не о самой строке, а о том, помещена ли она в нужном файле (приложение или web.config запущенной сборки (а не той, которая содержит модель db)), и если она правильно названа. Имя должно быть таким же, как указано в конструкторе –

+0

Он размещается повсюду (проект Web.config и проект модели db App.config) – Benzil

Смежные вопросы