在 Visual Web Developer 2010 中,我正在尝试实现此页面上描述的 EntityDataSource 的扩展,使 Insert() 可以用作方法:
我收到编译错误“CS0246:找不到类型或命名空间名称 'EntityDataSource'(您是否缺少 using 指令或程序集引用?)”
我最初创建了这个页面上提供的类: http ://forums.asp.net/t/1621469.aspx/1
2 之间没有区别(除了第一个链接的版本实际上让 VWD 将 EntityDataSourceExtentions 类名识别为某种东西 - 将其颜色编码为蓝绿色。)我应该使用 .NET 4.0。
补充: 这些是类的内容,在App_Code中保存为EntityDataSourceExtentions.cs:
using System.Collections.Specialized;
namespace System.Web.UI.WebControls
{
public static class EntityDataSourceExtentions
{
private static bool DefaultOperationCallback(int affectedRows, Exception ex)
{
return false;
}
public static void Insert(this EntityDataSource dataSource)
{
(dataSource as IDataSource).GetView(string.Empty).Insert(new OrderedDictionary(),DefaultOperationCallback);
}
}
}
这是 web.config 的内容,因为这似乎在将不同的程序集添加到编译中起作用:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="CustomConn" connectionString="Removed=true;" providerName="System.Data.SqlClient" />
<add name="CustomEntities" connectionString="removed=true;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="TestConn" connectionString="removed=true;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=X1" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=X2" />
<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=X3" />
</assemblies>
<buildProviders>
<add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider" />
</buildProviders>
</compilation>
<customErrors mode="Off" />
<pages>
<controls>
<add tagPrefix="custom" tagName="SidebarAds" src="~/_user_controls/SidebarAds.ascx" />
<add tagPrefix="custom" tagName="ComingSoon" src="~/_user_controls/ComingSoon.ascx" />
<add tagPrefix="custom" tagName="StateSelect" src="~/_user_controls/StateSelect.ascx" />
</controls>
</pages>
</system.web>
</configuration>
现在我正在查看 web.config ......我在一些网站上注意到,“System.Data.Entity”和“System.Web.Entity”之间存在差异。是否应该添加一个 .Web.Entity 程序集来完成这项工作?有人碰巧知道它的标签吗?