Breeze.js,可以使用Breeze查询SQL视图吗?

时间:2015-11-05 22:06:43

标签: breeze single-page-application

我正在尝试了解Breeze.js,

似乎Breeze要求后端对象定义了PK。 我的情况是我试图从SQL视图中读取数据。

Breeze可以使用Breeze查询SQL视图吗?什么是变通方法或更好的替代方案。

谢谢,

3 个答案:

答案 0 :(得分:0)

是。我的C#Model到SQL视图看起来与SQL表的映射完全相同。

答案 1 :(得分:0)

是的,你可以。

Breeze需要PK进行双向绑定,即将修改后的对象发送回服务器以进行保存更改。

在您的情况下,只有一种方法可以使用SQL视图。

答案 2 :(得分:0)

以下是我如何为t-sql命令执行此操作。同样的想法适用于视图(尽管我们在模型中定义了这些视图)。效果很好。当然,没有更新或添加,但这是可以预期的。

internal class RvRDetail
{
    public string DistrictName { get; set; }
    public string EmployeeName { get; set; }
    public string SiteName { get; set; }
    public System.DateTime CalendarDate { get; set; }
    public string RevenueCategoryName { get; set; }
    public decimal TotalRepayment { get; set; }
    public decimal TotalRevenue { get; set; }
}

[BreezeController]
public class SeasonlessRvRController : BreezeAbstractApiController
{

    // GET: breeze/SeasonlessRvR/RvRData
    [HttpGet]
    public object RvRData(string districtList="", string showAllPeriods="0")
    {
        var returnData = _dbContextProvider.Context.Database
            .SqlQuery<RvRDetail>("SELECT * from dbo.udf_SeasonlessRvR(@DistrictList, @ShowAllPeriods)",
                            new SqlParameter("@DistrictList", districtList),
                            new SqlParameter("@ShowAllPeriods", showAllPeriods))
            .ToList();
        return returnData;
    }
}