【问题标题】:How to run this sql query with RIA如何使用 RIA 运行此 sql 查询
【发布时间】:2011-11-13 17:17:08
【问题描述】:

我写了这个 sql 查询,我的环境默认使用 RIA,域服务类中的对象上下文来加载数据。但现在我不确定如何检索并将其转储到下面的通用列表结构中

public class LectAllInfo
{
    public DateTime StartTime {get;set;}
    public DateTime EndTime {get;set;}
    public string Venue {get;set;}
    public string Purpose {get;set;}
}

通用列表内容

我可以知道我应该如何编写代码来使用 RIA 从对象上下文中提取数据并转储到列表中吗?谢谢回复

【问题讨论】:

    标签: c# silverlight wcf c#-4.0 ria


    【解决方案1】:

    您应该使用映射到“函数”的存储过程。

    • 创建一个返回数据的存储过程。
    • 更新您的 EF 模型 (Update from database...)
      • 将存储过程添加到模型中
    • 右键单击 EF 设计器并选择 Add function import...(它是最重要的选项之一),这将打开函数导入对话框。
    • 输入要调用的函数的名称和返回类型。最简单的方法是单击最底部的按钮(“显示列”或其他内容),然后选择Create new complex type。将创建一个包含存储过程结果的类。

    现在您的ObjextContext 上将有一个函数,根据您所做的选择命名。你叫它很简单:

    var result = objectContext.MyStoredProcFunction(a, b, c);
    return result;
    

    【讨论】:

    • 谢谢,很抱歉没有把你的回复打勾为正确答案,虽然两者都是正确的,但他先回复..无论如何,真诚的回复=D Cheer ^^
    • Thx =D 这个答案切中要害,解决了我的问题 =D
    • @SLim 将光标放在函数名称上,它会告诉您返回类型。或者写return result.ToList();然后就是一个列表。
    • 因为我想转储到数据网格中,并且我将您的结果调用嵌套到这几行 public IQueryable LecAllInfo(string lecId) { return this.ObjectContext.LecAllInfo(lecId).AsQueryable() ; } 但我无法从 silverlight 应用程序中调用,有什么问题吗??
    • 你知道这个电话的问题在哪里吗??
    【解决方案2】:

    创建一个返回查询结果的存储过程,然后 在你的应用中调用这个存储过程

    在stackoverflow中检查RIA Services - call a stored procedure

    【讨论】:

    • 你能给我一些例子来说明如何从应用程序或域服务中调用这个存储过程吗??
    • 你知道这个电话的问题在哪里吗??
    猜你喜欢
    • 1970-01-01
    • 2013-05-15
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2016-02-27
    • 2011-05-24
    • 1970-01-01
    相关资源
    最近更新 更多