건배 모두,Entity Framework : 동적 연결 문자열 오류
저는 Entity Framework 모델을 사용하고 있습니다. 나는 응용 프로그램을 시동 할 때
namespace MyNamespace.Model
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class MyEntities: DbContext
{
public MyEntities(string nameOrConnectionString) : base(nameOrConnectionString)
{
}
}
}
, 나는이 방법이 생성자를 호출, 그래서 참조 할 수 있습니다 : 나는 다른 파일에, 나는 (this question에서) 서면으로 작성했습니다, 매개 변수처럼 내 연결 문자열을 전달해야하므로 어쨌든에서 응용 프로그램이에 : mdlImpostazioni.SetConnectionString()
문자열 (데이터가 정확한지를) 반환
public static MyEntities dbContext =
new MyEntities(mdlImpostazioni.SetConnectionString());
는 :
server=192.168.1.100\SVILUPPO;database=MyDB;uid=myName;pwd=111111;
이 코드를 실행
, 모든 것 같습니다 좋아,하지만 난 같은 쿼리를 만들려고 할 때 : 그것은 여기에서 예외가 발생var query = (from r in MainWindow.dbContext.TabTipoSistema select r);
:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
말 :
추가 정보 : T4를 사용하여 생성 된 코드 코드 첫 번째 모드에서 사용하는 경우 데이터베이스 우선 및 모델 우선의 템플릿이 올바르게 작동하지 않을 수 있습니다. 데이터베이스 우선 또는 모델 우선을 계속 사용하려면 Entity Framework의 연결 문자열이 실행중인 응용 프로그램의 구성 파일에 지정되어 있는지 확인하십시오. 데이터베이스 우선 또는 모델 우선에서 생성 된 이러한 클래스를 코드로 사용하려면 먼저 특성 또는 API DbModelBuilder를 사용하여 추가 구성을 추가하고이 예외를 throw하는 코드를 제거하십시오.
스택 트레이스는 :
C에서 MyNamespace.Model.MyEntities.OnModelCreating (DbModelBuilder 모델 빌더)에... \ 모델 \ Model.Context.cs : 25 행에 System.Data .Entity.DbContext.CallOnModelCreating System.Data.Entity에서 (DbModelBuilder 모델 빌더) System.Data.Entity.Internal.LazyInternalContext.CreateModelBuilder에 () System.Data.Entity.Internal.LazyInternalContext.CreateModel (LazyInternalContext internalContext)에 . Internal.RetryLazy`2.GetValue (TInput 입력) *
InnerException이 null입니다.
어디서 오류가 있습니까?