C# 使用实体框架作为Web部件';Sharepoint 2010中的s数据源
我有一个非常简单的web部件。我有一个单一的网格视图,我正在使用linq填充到实体(或者至少这是我想要做的)。实体数据模型.edmx文件与web部件位于同一个项目中,并且看起来一切正常。调试项目时,它在实体模型构造函数上爆炸,并显示错误消息: 指定的命名连接无效 在配置中找不到, 不打算与 EntityClient提供程序,或无效 App.Config中我的连接字符串如下所示:C# 使用实体框架作为Web部件';Sharepoint 2010中的s数据源,c#,.net,entity-framework,web-parts,sharepoint-2010,C#,.net,Entity Framework,Web Parts,Sharepoint 2010,我有一个非常简单的web部件。我有一个单一的网格视图,我正在使用linq填充到实体(或者至少这是我想要做的)。实体数据模型.edmx文件与web部件位于同一个项目中,并且看起来一切正常。调试项目时,它在实体模型构造函数上爆炸,并显示错误消息: 指定的命名连接无效 在配置中找不到, 不打算与 EntityClient提供程序,或无效 App.Config中我的连接字符串如下所示: <add name="MyDBEntities" connectionString="metadata=res:
<add name="MyDBEntities" connectionString="metadata=res://*/MyDBEntityModel.csdl|res://*/MyDBEntityModel.ssdl|res://*/MyDBEntityModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=MyServer;Initial Catalog=MyDB;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
所以,从我在别处读到的内容来看,我的问题是SharePoint无法看到我的连接字符串。这意味着,当我运行/调试项目时,项目中的App.Config实际上没有加载到SharePoint中。如果是这样的话,那么我如何在VisualStudio2010中设置我的项目,以确保SharePoint除了主SharePoint配置文件之外还获取App.Config。如果我必须手动复制连接字符串,是否有这样做的“最佳实践”程序?与实体框架相结合的SharePoint Web部件是否还没有准备好进入黄金时段?Visual Studio 2010的SharePoint工具已经推出,并将自动在Web.config中创建许多必要的条目。不幸的是,他们不会为您创建实体框架条目。为此,您需要为您的web部件项目编写一个功能接收器,用于添加EF连接字符串 SharePoint API有一个名为的对象。您应该编写一个FeatureActivated事件,使用该类对web.config进行修改,然后编写一个FeatureDeactivating事件,删除修改
-Greg我在SharePoint 2010 Web部件中遇到了同样的异常情况,我终于让它正常工作了,但在这一过程中我学到了两件重要的事情
public MyDBEntities() : base("name=MyDBEntities", "MyDBEntities")