Entity framework 以字节为单位传输数据
Entity framework transferred data in bytes
我正在使用 EF6
这是我的class
public partial class tbl_Persons
{
public int ID { get; set; }
public string Name { get; set; }
public byte Age { get; set; }
}
使用此代码时,将从服务器向客户端传输多少(字节)?
using (var db = new testEntities())
{
var q = db.tbl_Persons.FirstOrDefault(a => a.ID == 1234).Age;
}
刚刚转移{(年龄)(1 字节)}或转移所有属性{(ID + 姓名+年龄)(10 字节)}然后select 客户端上的年龄?
如何只传输 (Age)(1 byte)? (我需要从服务器传输最少的数据)
表达式
var q = db.tbl_Persons.FirstOrDefault(a => a.ID == 1234).Age;
相当于
var person = db.tbl_Persons.FirstOrDefault(a => a.ID == 1234);
var age = person.Age;
因此,您首先从数据库中检索并具体化整个对象(具有所有属性),然后从结果中获取单个 属性(在您的情况下为 byte
)。
为了只获取有问题的 属性,您应该使用不那么简洁但更有效的 Where
+ Select
+ FirstOrDefault
(无谓词版本):
var age = db.tbl_Persons.Where(p => p.ID == 1234).Select(p => p.Age).FirstOrDefault();
或使用查询语法
var age = (from p in db.tbl_Persons where p.ID == 1234 select p.Age).FirstOrDefault();
我正在使用 EF6
这是我的class
public partial class tbl_Persons
{
public int ID { get; set; }
public string Name { get; set; }
public byte Age { get; set; }
}
使用此代码时,将从服务器向客户端传输多少(字节)?
using (var db = new testEntities())
{
var q = db.tbl_Persons.FirstOrDefault(a => a.ID == 1234).Age;
}
刚刚转移{(年龄)(1 字节)}或转移所有属性{(ID + 姓名+年龄)(10 字节)}然后select 客户端上的年龄?
如何只传输 (Age)(1 byte)? (我需要从服务器传输最少的数据)
表达式
var q = db.tbl_Persons.FirstOrDefault(a => a.ID == 1234).Age;
相当于
var person = db.tbl_Persons.FirstOrDefault(a => a.ID == 1234);
var age = person.Age;
因此,您首先从数据库中检索并具体化整个对象(具有所有属性),然后从结果中获取单个 属性(在您的情况下为 byte
)。
为了只获取有问题的 属性,您应该使用不那么简洁但更有效的 Where
+ Select
+ FirstOrDefault
(无谓词版本):
var age = db.tbl_Persons.Where(p => p.ID == 1234).Select(p => p.Age).FirstOrDefault();
或使用查询语法
var age = (from p in db.tbl_Persons where p.ID == 1234 select p.Age).FirstOrDefault();