我正在创建一个Web API来显示我们系统中的忠诚度计划列表。每个忠诚度计划都有一个超长的GUID,我想以某种方式变成一个简单的唯一ID。
API的目的是显示带有id的每个项目,最终用户可以使用相同的命令和ID号来获取有关忠诚度计划的更多信息。
在SQL中我会使用像Rank Over这样的东西,但我不知道如何在这里应用它。
var ReturnedLoyalty = from d in db.LoyaltyCampaigns
where d.CampaignStart < DateTime.Now && d.CampaignStop >= DateTime.Now
orderby d.CampaignName ascending
select new { d.CampaignGUID, d.CampaignName };
我想将d.campaignguid替换成一组简单的数字,如1,2,3 ......等。
答案 0 :(得分:0)
不幸的是,查询理解语法不支持select
的两个参数版本,但您可以在查询后使用它:
var ReturnedLoyalty = (from d in db.LoyaltyCampaigns
where d.CampaignStart < DateTime.Now && d.CampaignStop >= DateTime.Now
orderby d.CampaignName ascending
select d.CampaignName).Select((name, index) => new { ID = index, CampaignName = name});