问题标签 [entitydatasource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
27716 浏览

c# - 使用 EntityDataSource 和 WHERE 过滤数据

嗨,我有一个 EntityDataSource。

我需要以编程方式发送一个变量 (@SelectedValue) 以在 EntityDataSource 的 WHERE 过滤器中使用。

你能发布一个简单的核心来告诉我怎么做吗?谢谢你的时间!

要在 EntityDataSource 上创建 WhereParameters,我使用以下代码:

这里是控件的代码:

0 投票
2 回答
3122 浏览

asp.net - EntityDataSource ,Select * From?

例如,

但它不是对 SQL 执行的:

EntityDataSource 不支持通配符吗?

0 投票
1 回答
1917 浏览

asp.net - EntityDataSource 中的 Where 和 AutoGenerateWhere

我不断收到此错误,我认为这是一个错误,但我想听听您的意见。

除非指定了 AutoGenerateWhere==true 或 Where,否则无法指定 WhereParameters。

这是我的 entitydatasource 控件。

现在你看到这里有问题了吗?在一些项目中尝试过,总是失败。

谢谢你。

0 投票
3 回答
3527 浏览

c# - 在 EntityDataSource 中使用参数化的 LIKE 子句

我对 a 有一个基本EntityDataSource的约束GridView。我有TextBox上面的GridView搜索。

我的目标:a)用户类型“jon” b)GridView`被过滤,例如“Jonathan”,“Enjona”,“Jonas”。

我已经看到了几个如何将参数化的 LIKE 子句添加到我的数据源的 Where 属性的示例,但是它们都需要用户在搜索字符串中使用通配符(例如 %Jon 而不是 Jon)。这对于非专业用户来说是不可接受的,所以我想将通配符放在 Where 子句中。

SQL 中的语法很明显:SELECT Name FROM Names WHERE Name LIKE N'%@p1%'

换句话说,如果@p1='Jon',我的 WHERE 子句是 LIKE N'%Jon%'

令人沮丧的是, 中的 Where 子句EntityDataSource似乎不是这样工作的。换句话说,以下内容不起作用:

我很高兴地期望 "" 的默认值能够为我提供我的“获取一切”子句,即LIKE '%%',但我的GridView.

令人沮丧的是,如果我对搜索结果进行硬编码,例如Where="it.Name LIKE '%Jon%'",它可以完美运行。

有谁知道这样做的方法?

0 投票
1 回答
526 浏览

c#-4.0 - EntityDataSource 控件获取数据源手册

难道我们不能使用数据源控件并从我们的数据存储库类库中将数据附加到它,而不是使用声明性控件而是将它们与我们自己的选择、插入、更新、删除方法一起使用?与 Windows 窗体中的 BindingSource 类似!

具体来说,我在数据模型类和类库中使用实体框架,该类库具有使用 Web 客户端应用程序项目的所有数据访问方法,因此我需要处理来自我的类​​的数据命令。

谢谢你。

0 投票
1 回答
1587 浏览

c# - 如何使用 RadioBUttonList 和 Where Clausole 过滤网格视图

我在 ASP.NET 4 中使用 C#。

我有一个 GridView 和一个 EntityDataSource 用于将它与数据库绑定。

源数据库表包含一个布尔列(0,1)。

我想使用 RadioList 按钮或类似按钮过滤 GridView 中的结果。

将 WhereParameters 添加到实体集我得到一个错误:

知道如何解决吗?谢谢


0 投票
2 回答
715 浏览

silverlight - 更好地将业务逻辑放在 WCF 服务或 Silverlight 控件上的代码后面?

在尝试为 Silverlight 应用程序设计架构时,我想问是否更好:

将实体数据模型与 WCF 数据服务一起使用,然后将我的业务逻辑放在我的 silverlight 用户控件的代码隐藏中,以对从 WCF 数据服务返回的纯数据进行任何修改/管理

或者

使用带有 WCF 服务的实体数据模型,然后使用 [OperationContract] 方法将我的业务逻辑放入实际服务中,在这些方法中我可以在服务级别应用我的业务逻辑,从而在表示(silverlight)和业务(服务)

任何人都可以就哪种方法更好,或者我在上述建议范围之外还没有发现更好的方法提供意见吗?

谢谢

0 投票
1 回答
347 浏览

asp.net - 使用 EF 和 EDS 的新 Webform 应用程序偶尔会冻结 IE

我有一个新的 ASP.Net 4.0 Webform 应用程序。它是使用 Entity Framework 4.0 编写的,它使用 EntityDataSource 进行大约 90% 的数据访问(主要绑定到 ListView 和 DropDownList 控件)。

用户报告偶尔的 IE “冻结”。似乎正在发生的事情是在回发期间,IE 将完全变为白色,并且页面永远不会呈现。用户可以关闭 IE 并重新启动它,应用程序总是很好。

看来我可能遇到了资源问题。服务器 RAM、SQL RAM、SQL 数据库连接等。发生这种情况时,客户端 PC 或服务器上的事件日志中没有任何内容(除了今天的错误!)(似乎每天发生 1-3 次)随机用户)。

今天,我让一个用户等待它并得到下面的错误(它也在事件日志中)。我不确定这是其他人遇到的错误还是不相关的错误。问题是,我不在现场。我只能在晚上访问服务器,就像我说的那样,没有任何事件日志。我想过在 SQL 上安装 Spotlight(我以前用过,非常好)或其他一些 SQL 监控工具。首先,我虽然会在这里看到专家关于堆栈溢出的建议。

有什么建议吗?(除了不使用 EntityDataSource!哈哈)

哦,是的......这是我上面提到的那个错误:

“/”应用程序中的服务器错误。

超时已过。在操作完成之前超时时间已过或服务器没有响应。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[SqlException (0x80131904): 超时。在操作完成之前超时时间已过或服务器没有响应。]

System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection)+404

System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412

System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363

System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +58

System.Data.SqlClient.SqlDataReader.get_MetaData() +118

System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6312385

System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔返回流,布尔异步)+6313986

System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +538

System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法) +28

System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为,字符串方法)+256

System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 行为)+19

System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior 行为)+617

[EntityCommandExecutionException:执行命令定义时发生错误。有关详细信息,请参阅内部异常。]

System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments 参数)+1599

System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 参数,DataSourceViewSelectCallback 回调)+28

System.Web.UI.WebControls.DataBoundControl.PerformSelect() +274

System.Web.UI.WebControls.ListView.PerformSelect() +124

System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +105

System.Web.UI.WebControls.ListView.CreateChildControls() +78

System.Web.UI.Control.EnsureChildControls() +182

System.Web.UI.Control.PreRenderRecursiveInternal() +60

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Control.PreRenderRecursiveInternal() +222

System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+4185

版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.1

0 投票
1 回答
1871 浏览

asp.net - EntityDataSource Null 更新参数未标记为已修改

我在 VB.NET 应用程序上使用带有 FormView 的 EntityDataSource。FormView 包含一个带有多个选项卡的 AjaxControlToolKit TabContains。由于每个选项卡都是一个命名容器,因此 Bind 无法正常更新值(从阅读 stackoverflow 上的其他帖子中发现)。相反,我必须在我的 EntityDataSource 上声明 UpdateParameters。示例标记如下:

这很好用,直到编辑客户并将其名称设置为空(假设在这种情况下,允许使用空名称)。Name UpdateParameter 设置为 Null,但 ObjectStateEntry 未设置为针对 Null 属性进行修改,即使之前实体具有指定的值。只要将名称更改为 Null 以外的名称,所有内容都会正确更新。

我通过将以下代码放入 EntityDataSource 的更新事件中找到了一种解决方法。

这可确保 UpdateParameters 中的每个属性都将其状态设置为已修改。它有效,但它看起来像一个黑客,我可以看到它会导致问题。还有什么我可以做的吗?

0 投票
2 回答
3543 浏览

c# - EntityDataSource 控件和 SELECT TOP(N)

我使用 asp.net 4 和 EF。

我有一个 EntityDataSource,我只想从我的数据库中选择前 10 条记录,例如 SELECT TOP(10)。

这是我的代码,我该怎么做?谢谢