SQL - 概述查询

时间:2016-09-27 05:16:35

标签: c# sql rest api

在设计C#时,我遇到了一个看似简单的问题 - > SQL数据访问层。

这是我正在尝试做的伪代码:

User.GetOverview()

用户概述包含

之类的内容
public class UserOverviewModel()
{
    public string Username { get; set; }
    public SavedSearchModel[] SavedSearches { get; set; }
    public TrackingItemModel[] ItemsToTrack { get; set; }
}

因此 SaveSearchModel TrackingItemModel 都是完全不同的数据库表,并且只有一个 - >与用户的多重关系。

我的问题是,如何从SQL查询中获取所有这些信息?在一天结束时,我试图从REST Api返回这样的内容:

{
    "Username": "wakawaka54",
    "SavedSearches": [
         { "SearchText" : "40mm" }
         { "SearchText" : "50mm 12v" }
    ],
    "ItemsToTrack": [
         { "ItemID": "1374328575",
           "ItemLink" "www.somelink.com" }
         { "ItemID": "357489574",
           "ItemLink": "www.someotherlink.com" }
    ]
}

我应该使用事务并单独返回每个查询吗?这是否会导致我支付与独立查询相同的速度惩罚?

2 个答案:

答案 0 :(得分:1)

使用SELECT U.UserName, S.SavedSearches, I.ItemsToTrack FROM tblUsers U INNER JOIN tblSaveSearches S ON U.UserId = S.UserId INNER JOIN tblItemToTrack I ON U.UserId = I.UserId

UserOverviewModel

然后将返回结果集转换为<select ng-model="selectedCountry" ng-options="o for o in countries[**Position**].Cities | filter:search:strict"></select> 列表,然后使用NewtonSoft JSON

序列化它

答案 1 :(得分:0)

您可以使用Newtonsoft nuget

这很容易使用。