我参考这个例子:返回选定的指定列
Quote:如果BlobDetails不是LINQ实体,那么你可以直接执行:
var qry = from b in dc.Blobs
orderby b.RowVersion descending
select new BlobDetails {
Id = b.Id, Size = b.Size,
Signature = b.Signature, RowVersion = b.RowVersion};
return qry.ToList();
Run Code Online (Sandbox Code Playgroud)
我看到他们正在通过ORM工具LINQ TO SQL在查询中选择特定列.ORM工具的批评者说,如果我没记错的话,ORM工具会从表中选择并返回整个对象,并限制只选择特定列的选项,就像通过经典的SQL编程一样.当然,当我看到这个例子时,我对此表示怀疑,但是,我仍然不断问自己这样一个问题:数据库是仅返回所选列,还是返回整个对象,将列过滤留给ORM工具?
从这个例子中,他们还有一个名为Blobdetails的类:
public class BlobDetails
{
public int Id { get; set; }
public string Signature { get; set; }
public int Size { get; set; }
public System.Data.Linq.Binary RowVersion { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
每次我只想通过LINQ从表中选择几列时,是否需要创建自己的类?
我目前使用的是 SQL Server 2012,我有一个关于具有不同访问权限的跨架构访问的问题:
假设我有两个模式:UserSchema和TableSchema。
TableSchema 包含 2 个表,并且此架构只能由管理员用户访问,用于阅读、更新等。
UserSchema 可供具有 SELECT 权限(或您称之为阅读权限的任何内容)的用户访问。此架构包含一个视图,该视图应该从 TableSchema 中的两个表中选择数据。
我的想法是 UserSchema 的用户应该只能访问 UserSchema,但不能访问 TableSchema。这会起作用吗?还是因为没有直接从表中读取数据的权限而无法查询视图?是否有一个很好的解决方案来解决这个问题,或者我是否必须忘记这个想法并让用户阅读 TableSchema ?
主要问题的答案可能很明显,但我在尝试 google 时似乎发现了一些不同的答案,所以这或多或少是一个确认或反驳这个想法的“是或否”问题。
我正在使用AngularJS进行一个Web项目,但在其中一个控件检查中,我正在尝试实现array.prototype.some() - 函数.不幸的是,它不起作用,总是假的.
在我尝试找到错误时,我尝试实现一个简单的测试用例,其中检查具有数字的数组的值是否大于5.
测试代码是这样的:
var arrayForTesting = [2, 5, 18];
var result = arrayForTesting.some(function (element, index, array){
element > 5;
});
Run Code Online (Sandbox Code Playgroud)
一些网页暗示我需要索引和数组作为必需参数,但只有元素是我测试所需的唯一参数.
但是,结果仍然是假的,但至少有一个元素高于5.
我究竟做错了什么?