c# - 如何使用过滤器从 EntityDataSource 填充可更新的 FormView

标签 c# asp.net entity-framework formview entitydatasource

我正在尝试创建一个用于更新帐户详细信息的成员(member)页面。我想用成员的数据填充一个表单,但我不知道如何在 EntityDataSource 上设置过滤器来限制查询。

当我根据成员(member)ID设置select语句时,出现错误

如果启用了 EnableDelete、EnableInsert 或 EnableUpdate,则无法设置 Select。

我认为这是因为您不能更新投影之类的,但是有什么办法吗?

还是我必须在 Page_Load 中运行查询并自己填充表单?

最佳答案

不需要设置select,只需要设置where子句。

您可以执行以下操作:

<asp:EntityDataSource ID="MyDataSource" EntitySetName="Entity1" runat="server"
    ConnectionString="name=MyEntitiesConnString" EnableUpdate="true"
    DefaultContainerName="MyEntities" Where="it.MemberId= @MemberId" >
        <WhereParameters>
            <asp:QueryStringParameter DbType="Int32" Name="memberId" QueryStringField="memberid" />
        </WhereParameters>
</asp:EntityDataSource>

如果参数是querystring传入的。还有其他几种内置参数类型。

关于c# - 如何使用过滤器从 EntityDataSource 填充可更新的 FormView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056257/

相关文章:

c# - 如何在 C# 的方法参数中定义位数据类型?

c# - 如何在c# wpf应用程序中绘制具有不同z索引的多条线

c# - Web API 项目中 CreateHostBuilder 中的 Lambda 表达式

entity-framework - HasData 的数据播种不适用于 Visual Studio for Mac

c# - ASP.NET MVC DB 首先创建动态 dbcontext

c# - 在 .NET Core EF 中,为什么使用 .Select() 时 Query 运行速度比使用 ToListAsync() 快得多?

c# - 无法从包含 Union 的 Entity Framework Core 查询中获取完整的 SQL 文本

c# - 获取多选列表框的选中值

asp.net - MVP 模式 - 被动 View 并通过 IView 公开复杂类型(Asp.Net、Web 表单)

asp.net - 如何将泛型类注册为 IHttpModule