我正在尝试根据字符串状态选择数据。我想要的是状态“草稿”首先出现,所以我尝试了以下方法:
SELECT *
FROM c
ORDER BY c.status = "draft" ? 0:1
Run Code Online (Sandbox Code Playgroud)
我收到错误:
不支持 ORDER BY 子句。ORDER BY 项目表达式无法映射到文档路径
我检查了微软网站,我看到了这个:
ORDER BY 子句要求索引策略包含正在排序的字段的索引。Azure Cosmos DB 查询运行时支持根据属性名称排序,而不是根据计算属性排序。
我想这使得我想要通过查询做的事情变得不可能......我怎样才能实现这一目标?使用存储过程?
编辑:
关于存储过程:实际上,我只是在考虑这个,这意味着,我需要在订购之前检索所有数据,这会很糟糕,因为我从数据库中获取最大 100 值...有什么办法可以做到这一点所以我不必先检索所有数据?谢谢
谢谢!
我正在尝试使用Ajax调用创建一个MVC网站.我没有直接使用jquery的问题,但是当我使用@ Ajax.ActionLink时,我没有得到我想要的结果.这是我的观点:
<script type="text/javascript">
function deleteComment(id) {
$.post(
"/Role/AjaxTest",
//{ id: id },
function (data) {
$("#testtarget").html(data);
});
}
</script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<h2>TITLE</h2>
<p>
@Ajax.ActionLink("Ajax Test", "AjaxTest", "Role", new AjaxOptions{UpdateTargetId="testtarget",HttpMethod = "Get" , InsertionMode = InsertionMode.Replace })
</p>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoleName)
</td>
<td>
<a onclick="deleteComment('@item.RoleId'); return false;" href="#">Delete</a>
@Html.ActionLink("Delete", "Delete", new { id=item.RoleId })
</td>
</tr>
}
</table>
<div id="testtarget">Test Div</div>
Run Code Online (Sandbox Code Playgroud)
这是我的Controler数据:
public string AjaxTest()
{
return "Some random text"; …
Run Code Online (Sandbox Code Playgroud) 首先对不起,如果我的标题不清楚,但我确实很难用英文简单的句子:).
假设我有一个管理网站,人和超级英雄,我有2个班:
public class Person
{
[Key]
public int PersonId { get; set; }
[MaxLength(100)]
public string Name { get; set; }
}
public class SuperHero:Person
{
[MaxLength(100)]
public string SuperHeroName { get; set; }
public virtual ICollection<SuperPower> SuperPowers{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的数据库中,我有这个:
人1:Id = 1姓名="Alex Flimster"Discrimiator ="人"
人2:ID = 2姓名="布鲁斯韦恩"鉴别器="SuperHero"SuperHeroName ="蝙蝠侠"
我知道如果我这样做:
var test = from Context.Person select p;
Run Code Online (Sandbox Code Playgroud)
我得到每个人,英雄与否.
如果我只想要英雄,我会这样做:
var test = from Context.Person.OfType<SuperHero>() select p;
Run Code Online (Sandbox Code Playgroud)
我的问题是:我如何只得到这个人?
var test = from Context.Person.OfType<Person>() select p;
Run Code Online (Sandbox Code Playgroud)
将返回与第一次测试相同的返回.
编辑 …