实体数据源连接字符串作为变量
本文关键字:变量 字符串 数据源 连接 实体 | 更新日期: 2023-09-27 18:26:36
如何从codeehind页面中的变量集设置实体数据源连接字符串。
例如后面的代码中的类似内容
string edsconstring = "name=EDSEntities";
然后在aspx 中
<asp:EntityDataSource ID="UnAuthPricesEDS" runat="server"
ConnectionString=<%= this.edsconstring %> DefaultContainerName="CS3Entities"
EnableFlattening="False" EntitySetName="CustomersItems" Where="it.Authorised=false"
OrderBy="it.DateSet" >
</asp:EntityDataSource>
对于您的情况,请尝试使用CodeExpressionbuilder
添加此类:
[ExpressionPrefix("Code")]
public class CodeExpressionBuilder : ExpressionBuilder {
public override CodeExpression GetCodeExpression(BoundPropertyEntry entry,
object parsedData, ExpressionBuilderContext context) {
return new CodeSnippetExpression(entry.Expression);
}
}
ASPX标记:[观察ConnectionString="<%$ Code: edsconstring %>"
]
<asp:EntityDataSource ID="UnAuthPricesEDS" runat="server"
ConnectionString="<%$ Code: edsconstring %>" DefaultContainerName="CS3Entities"
EnableFlattening="False" EntitySetName="CustomersItems" Where="it.Authorised=false"
OrderBy="it.DateSet" >
</asp:EntityDataSource>
另一种情况:使用ConnectionStringExpressionBuilder,这样您就可以引用web.config中新连接字符串部分中定义的连接字符串。这在使用新的声明性数据控件时非常有用:
<asp:EntityDataSource ID="UnAuthPricesEDS" runat="server"
ConnectionString="<%$ ConnectionStrings: MyConfigConnectionString %>" DefaultContainerName="CS3Entities"
EnableFlattening="False" EntitySetName="CustomersItems" Where="it.Authorised=false"
OrderBy="it.DateSet" >
</asp:EntityDataSource>