Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回类型为非动态的OrmLite Select_C#_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">ormlite Servicestack - Fatal编程技术网 ormlite-servicestack,C#,ormlite Servicestack" /> ormlite-servicestack,C#,ormlite Servicestack" />

C# 返回类型为非动态的OrmLite Select

C# 返回类型为非动态的OrmLite Select,c#,ormlite-servicestack,C#,ormlite Servicestack,在这样一个简单的例子中 var query = db.From<Employee>() .Join<Department>() .OrderBy(e => e.Id) .Select<Employee, Department>((employee, department) => new { employee.Id, employee.LastName, Departmen

在这样一个简单的例子中

var query = db.From<Employee>()
    .Join<Department>()
    .OrderBy(e => e.Id)
    .Select<Employee, Department>((employee, department) => new { 
        employee.Id, 
        employee.LastName, 
        DepartmentName = department.Name 
    }
);
我是否可以显式编写我的
.Select()
以返回
EmployeeWithDept

var query = db.From<Employee>()
    .Join<Department>()
    .OrderBy(e => e.Id)
    .Select<Employee, Department>((employee, department) => new EmployeeWithDept { 
        employee.Id, 
        employee.LastName, 
        DepartmentName = department.Name 
    }
);
var query=db.From()
.Join()
.OrderBy(e=>e.Id)
.选择((员工,部门)=>新员工WithDept{
employee.Id,
employee.LastName,
部门名称=部门名称
}
);
根据,是的。 只要遵循命名约定或使用正确的属性修饰类型,就很可能得到结果POCO

它应该简单到:

var query = db.From<Employee>()
    .Join<Department>()
    .OrderBy(e => e.Id);

var esWithDs = db.Select<EmployeeWithDept>(query);
var query=db.From()
.Join()
.OrderBy(e=>e.Id);
var esWithDs=db.Select(查询);
根据,是的。 只要遵循命名约定或使用正确的属性修饰类型,就很可能得到结果POCO

它应该简单到:

var query = db.From<Employee>()
    .Join<Department>()
    .OrderBy(e => e.Id);

var esWithDs = db.Select<EmployeeWithDept>(query);
var query=db.From()
.Join()
.OrderBy(e=>e.Id);
var esWithDs=db.Select(查询);

因为您正在调用
db.From
返回的变量类型是
SqlExpression

所以你可以这样称呼它:

var query = db.From<Employee>()
    .Join<Department>()
    .OrderBy(e => e.Id)
    .Select<Employee, Department>((employee, department) => new { 
        Id = Sql.As(employee.Id, nameof(EmployeeWithDept.Id)), 
        LastName = Sql.As(employee.LastName, nameof(EmployeeWithDept.LastName)), 
        DepartmentName = Sql.As(department.Name, nameof(EmployeeWithDept.DepartmentName))
    }
);
var result = db.Select<EmployeeWithDept>(query);
var query=db.From()
.Join()
.OrderBy(e=>e.Id)
.选择((员工、部门)=>新建{
Id=Sql.As(employee.Id,nameof(EmployeeWithDept.Id)),
LastName=Sql.As(employee.LastName,nameof(EmployeeWithDept.LastName)),
DepartmentName=Sql.As(department.Name,nameof(employeewithdepartment.DepartmentName))
}
);
var result=db.Select(查询);

这应该可以工作。

因为您正在从调用
db。返回的变量类型是
SqlExpression

所以你可以这样称呼它:

var query = db.From<Employee>()
    .Join<Department>()
    .OrderBy(e => e.Id)
    .Select<Employee, Department>((employee, department) => new { 
        Id = Sql.As(employee.Id, nameof(EmployeeWithDept.Id)), 
        LastName = Sql.As(employee.LastName, nameof(EmployeeWithDept.LastName)), 
        DepartmentName = Sql.As(department.Name, nameof(EmployeeWithDept.DepartmentName))
    }
);
var result = db.Select<EmployeeWithDept>(query);
var query=db.From()
.Join()
.OrderBy(e=>e.Id)
.选择((员工、部门)=>新建{
Id=Sql.As(employee.Id,nameof(EmployeeWithDept.Id)),
LastName=Sql.As(employee.LastName,nameof(EmployeeWithDept.LastName)),
DepartmentName=Sql.As(department.Name,nameof(employeewithdepartment.DepartmentName))
}
);
var result=db.Select(查询);

这应该行。

不幸的是,我仍然需要
查询。Select()
因为
EmployeeWithDept
有一个属性
部门名称
,在
员工
部门
上找不到该属性。这是
部门。名称
请仔细查看我提供的文档链接。只有5段。OrmLite完全支持您所指的内容,只要您遵守约定。不幸的是,我仍然需要
查询。选择()
,因为
EmployeeWithDept
有一个属性
DepartmentName
,在
Employee
Department
上找不到该属性。这是
部门。名称
请仔细查看我提供的文档链接。只有5段。只要您遵守约定,OrmLite就完全支持您所指的内容。