0
[Table("department_types", Schema = "public")]
public class DepartmentTypes
[Table("departments", Schema = "public")]
public class Department
クエリ:
private string BuildQuery()
{
return OrmConfiguration.GetSqlBuilder<DepartmentViewModel>().Format(
[email protected]" SELECT {nameof(Department.Id):C},
{nameof(Department.Name):C},
{nameof(Department.TypeId):C},
{nameof(DepartmentTypes.Name):C} as DepartmentTypeName
FROM {nameof(Department):T}
LEFT JOIN {nameof(DepartmentTypes):T}
ON {nameof(Department.TypeId):C} = {nameof(DepartmentTypes.Id):C}");
}
結果クラス:
public class DepartmentViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public int TypeId { get; set; }
public string DepartmentTypeName { get; set; }
}
私は部門とDepartmentTypesに参加しDepartmentViewModel結果を取得したい...
今の代わりに{nameof(DepartmentTypes):T}
(exa 「department_types」という名前のDepartmentTypesの名前ではなく「DepartmentViewModel」を入れます。
私はあなたのやり方で試してみましたが、私は独自の文字列補間された生のSQLクエリを作成しました。列に適切なテーブル識別子が関連付けられていれば、それでも機能します。また、エンティティとしてを宣言しているため、:Tおよび:C項目を使用して、テーブル/列宣言の一部をショートカットすることができます。 –