Rya*_*yes 5 .net c# entity-framework web-parts sharepoint-2010
我有一个非常简单的网页部分.我有一个网格视图,我使用linq填充实体(或至少这是我想要做的).实体数据模型.edmx文件与Web部件位于同一项目中,并且所有内容都处于正常工作状态.当我调试项目时,它会在实体模型构造函数上爆炸,并显示错误消息:
指定的命名连接在配置中找不到,不打算与EntityClient提供程序一起使用,或者无效.
我在App.Config中的连接字符串如下:
<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" />
Run Code Online (Sandbox Code Playgroud)
构造函数:
public MyDBEntities() : base("name=MyDBEntities", "MyDBEntities")
Run Code Online (Sandbox Code Playgroud)
所以,从我在其他地方读到的,我的问题是SharePoint无法看到我的连接字符串.这意味着,当我运行/调试项目时,我的项目中的App.Config实际上并未加载到SharePoint中.如果是这种情况,那么我如何在Visual Studio 2010中设置我的项目以确保除了主SharePoint配置文件之外,SharePoint还会选择App.Config.如果我必须手动复制连接字符串,是否有"最佳实践"程序?SharePoint Web部件是否与实体框架结合起来还没有为黄金时间做好准备?
Visual Studio 2010的SharePoint工具已经出现,并将自动在web.config中创建许多必要的条目.不幸的是,他们不会为您制作实体框架条目.为此,您需要为Web部件项目编写一个功能接收器,以添加EF连接字符串.
SharePoint API具有名为SPWebConfigModification的对象.您应编写一个FeatureActivated事件,该事件使用此类对web.config进行修改,然后编写一个删除修改的FeatureDeactivating事件.
-Greg
| 归档时间: |
|
| 查看次数: |
5584 次 |
| 最近记录: |