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

问题描述:

我正在尝试了解Breeze.js,

I am trying to learn about Breeze.js,

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

And it seems that Breeze requires that the back-end object has a PK defined. I my case I am trying to read data from a SQL View.

Breeze可以使用Breeze查询SQL视图吗?有什么解决方法或更好的替代方法。

Can Breeze query a SQL view using Breeze? What is the workaround or a better alternative for this.

谢谢

以下是我对t-sql命令的处理方式。相同的想法适用于视图(尽管我们在模型中定义了这些视图)。效果很好。当然,没有更新或添加,但这是可以预期的。

The following is how i do it for a t-sql command. The same idea works for views (though we define those views in our model). Works great. Of course, no updating or adding, but that is to be expected.

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;
    }
}