C# 连接到数据库(ADO.NET、SQL Server)
我使用创建了一个ADO.NET实体数据模型。我有两门新课:C# 连接到数据库(ADO.NET、SQL Server),c#,sql-server-2008,ado.net,entity-framework-4.1,C#,Sql Server 2008,Ado.net,Entity Framework 4.1,我使用创建了一个ADO.NET实体数据模型。我有两门新课: namespace Parser { public partial class advert : EntityObject { /////////// } public partial class test_workEntities1 : ObjectContext { /////// } } 然后我创建了以下类: namespace Parser {
namespace Parser
{
public partial class advert : EntityObject
{
///////////
}
public partial class test_workEntities1 : ObjectContext
{
///////
}
}
然后我创建了以下类:
namespace Parser
{
public class BdProvider
{
public void InsertAdv()
{
advert adv = new advert();
test_workEntities1 f = new test_workEntities1();
adv.adress = "adress 1";
adv.const_link = "domain.com";
adv.count_room = 10;
f.advert.AddObject(adv);
}
}
}
我创建了以下控制台应用程序:
namespace TestApp
{
class Program
{
static void Main(string[] args)
{
BdProvider bd = new BdProvider();
bd.InsertAdv();
Console.ReadKey();
}
}
}
运行应用程序时,我看到:
在中找不到指定的命名连接
配置,不打算与EntityClient提供程序一起使用,
还是无效
堆栈跟踪:
System.ArgumentExceptionааааааааааааааааа
соединение не найдено в конфигурации, не предназначалось для
实体客户。
Source=System.Data.Entity StackTrace:
System.Data.EntityClient.EntityConnection.ChangeConnectionSt
环(字符串newConnectionString)of
System.Data.EntityClient.EntityConnection..ctor(字符串
连接串)f
System.Data.Objects.ObjectContext.CreateEntityConnection(Str)
connectionString)of System.Data.Objects.ObjectContext..ctor(字符串)
connectionString,字符串defaultContainerName)of
Parser.test_workEntities1..ctor()函数
C:\proj\Parser\Model1.Designer.cs:Сааааа34а
Parser.BdProvider.InsertAdv()函数C:\proj\Parser\BdProvider.cs:ССааа28
..TestApp.Program.Main(字符串[]args)
C:\proj\TestApp\Program.cs:ССааа21а
System.AppDomain.\u下一个安全程序集(运行时程序集,字符串[])
args)of System.AppDomain.ExecuteAssembly(字符串汇编文件,证据
assemblySecurity,字符串[]args)of
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssem bly()函数
System.Threading.ThreadHelper.ThreadStart_上下文(对象状态)
System.Threading.ExecutionContext.Run(ExecutionContext
executionContext、ContextCallback回调、对象状态、布尔值
ignoreSyncCtx)Ⅴ
System.Threading.ExecutionContext.Run(ExecutionContext
executionContext、ContextCallback回调、对象状态)
System.Threading.ThreadHelper.ThreadStart()内部异常:
我尝试使用不同的connectionString创建test_workEntities1,但没有成功
我的连接字符串是
<connectionStrings>
<add name="test_workEntities1"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=PKVZALE\SQLEXPRESS;Initial Catalog=test_work;Integrated Security=True;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
</connectionStrings>
您需要将连接字符串添加到
TestApp
配置文件中
目前,它位于解析器
项目的app.config
文件中,但是,当您通过TestApp
项目运行应用程序时,.NET正在查找此项目中的设置
//扩展答案
可以在项目的根文件夹中创建app.config
。您可以通过从Parser
project复制/粘贴,或者使用
将应用程序配置文件添加到C#项目中
当您在不同的项目中有一个实体框架-EF时,需要做3件事:
此项目是否在类库中?@levi、类BdProvider和类解析器包含在项目类库中。我需要将文件放在哪里?我试图将文件放入TestApp\app.config、TestApp\bin\Debug\app.config文件夹中