Ошибка при использовании поставщика данных EF Tracing - PullRequest
1 голос
/ 15 июля 2010

Я пытаюсь включить 'EF Tracing Data Provider' в существующее приложение MVC2, используя VS2010, .NET 4.0, чтобы регистрировать все команды SQL.В данный момент у меня нет интереса к провайдеру кэширования.Я считаю, что я выполнил все шаги, перечисленные в публикации блога. BLOG POST Мой проект компилируется без ошибок, однако когда я пытаюсь запустить проект, я получаю следующую ошибку:

'Строка не может иметь нулевую длину.'Ошибка указывает на Extended_JCIMS_MVC2_EF_Entities.cs Строка: 25

Line 25:         public ExtendedJCIMS_DevEntities(string connectionString)
Line 26:             :base(EntityConnectionWrapperUtils.CreateEntityConnectionWithWrappers(

Я не могу определить, что является причиной этой ошибки.Я предполагаю, что ошибка относится к строке подключения из файла Web.Config.Ему не нравится переменная connectionString.Я, очевидно, делаю что-то.Я был бы признателен за толчок в правильном направлении.

Марк Бакли putrtek@gmail.com

Биты Relevent:

Web.config
--------------------------------------------------------------------------

  <add name="JCIMS_DevEntities"
   connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=MyServer;Initial          Catalog=MyDatabase;User ID=MyUser;Password=myPassWord;MultipleActiveResultSets=True&quot;"
   providerName="System.Data.EntityClient"/>

<system.data>
 <DbProviderFactories>
  <add name="EF Tracing Data Provider" invariant="EFTracingProvider" description="Tracing Provider Wrapper"
     type="EFTracingProvider.EFTracingProviderFactory, EFTracingProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=def642f226e0e59b" />
   <add name="EF Generic Provider Wrapper" invariant="EFProviderWrapper" description="Generic Provider Wrapper"
     type="EFProviderWrapperToolkit.EFProviderWrapperFactory, EFProviderWrapperToolkit, Version=1.0.0.0, Culture=neutral, PublicKeyToken=def642f226e0e59b" />
 </DbProviderFactories>
  </system.data>


Global.ascx
-----------------------------------------------------------------------

protected void Application_Start()
{
 AreaRegistration.RegisterAllAreas();
 RegisterRoutes(RouteTable.Routes);
 //EFTracingProviderConfiguration - LOG ALL Sql commands
 EFTracingProviderConfiguration.LogToFile = Server.MapPath("~/JCIMS_MVC2_EF_SQL_Logfie.txt");
} 


Extended_JCIMS_MVC2_EF_Entities.cs
        --------------------------------------------------------------------------
namespace JCIMS_MVC2_EF.DomainModel
{
 /// <summary>
 /// Partial calss that Extends the EF Datacontext Class
 /// </summary>
 public partial class ExtendedJCIMS_DevEntities : JCIMS_DevEntities
 {
  private TextWriter logOutput;

  public ExtendedJCIMS_DevEntities()
   : this("name=JCIMS_DevEntities")
  {
  }

  public ExtendedJCIMS_DevEntities(string connectionString)
   : base(EntityConnectionWrapperUtils.CreateEntityConnectionWithWrappers(
     connectionString,
     "EFTracingProvider"                  
   ))
  {
  }

  //... and more
}
}  

  SearchRepository.cs
 ------------------------------------------------------------------
public class SQLSearchRepository : ISearchRepository
{
 //Database connection
   private ExtendedJCIMS_DevEntities db = new ExtendedJCIMS_DevEntities(); // tracing version

 public IEnumerable<SearchResults> ListAll(string strSearch, string chkSearch)
   {
  return (from s in db.Schools....
  // and more...
   }

Цените любую помощь, которую может любойдай мне ...

-MARK-

1 Ответ

0 голосов
/ 15 июля 2010

Вы отладили и подтвердили, что connectionString, переданный методу ExtendedJCIMS_DevEntities, не является нулевым или пустым? Вот на что указывает ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...