- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在通过 QueryOver 选择时遇到一些问题,这是我的模型类:
public class BaseModel
{
public virtual int Id { get; set; }
public virtual DateTime ModifyDate { get; set; }
public virtual DateTime CreateDate { get; set; }
public virtual User CreateUser { get; set; }
public virtual User ModifyUser { get; set; }
public virtual bool IsActive { get; set; }
}
public class BaseClassMap<T> : ClassMap<T> where T : BaseModel
{
public BaseClassMap()
{
Id(x => x.Id).GeneratedBy.Identity();
References(x => x.CreateUser, "CreateUser_Id");
References(x => x.ModifyUser, "ModifyUser_Id");
Map(x => x.CreateDate).Not.Nullable().Default("GETDATE()");
Map(x => x.ModifyDate).Not.Nullable().Default("GETDATE()"); ;
Map(x => x.IsActive).Not.Nullable().Default("1");
}
}
public class Expenditure : BaseModel
{
public virtual decimal Amount { get; set; }
public virtual Category Category { get; set; }
public virtual string Comment { get; set; }
public virtual DateTime Month { get; set; }
}
public class ExpenditureMap : BaseClassMap<Expenditure>
{
public ExpenditureMap()
{
Schema("[budget]");
Table("[Expenditure]");
Id(x => x.Id);
Map(x => x.Amount).Not.Nullable();
Map(x => x.Comment);
Map(x => x.Month).Not.Nullable();
References(x => x.Category, "Category_Id").Not.Nullable();
}
}
public class User : BaseModel
{
public virtual string Login { get; set; }
public virtual string Email { get; set; }
public virtual string Password { get; set; }
public virtual string PasswordSalt { get; set; }
public virtual string HashAlgorithm { get; set; }
}
public class UserMap : BaseClassMap<User>
{
public UserMap()
{
Schema("[permission]");
Table("[User]");
Id(x => x.Id);
Map(x => x.Login).Not.Nullable();
Map(x => x.Email).Not.Nullable();
Map(x => x.Password).Not.Nullable();
Map(x => x.PasswordSalt);
Map(x => x.HashAlgorithm).Not.Nullable();
}
}
public class ExpenseDetailsItemVm
{
public int Id { get; set; }
public string Comment { get; set; }
public decimal Amount { get; set; }
public DateTime CreateDate { get; set; }
public string CreateUser { get; set; }
}
这是我的查询:
var user = new User();
var result = new ExpenseDetailsItemVm();
var expenses = SessionManager.Session.QueryOver<Expenditure>()
.JoinAlias(x => x.CreateUser, () => user)
.Where(x => x.IsActive &&
x.Category.Id == categoryId &&
x.Month == date.ToFirstDayOfMonth())
.SelectList(list => list
.Select(x => x.Id).WithAlias(() => result.Id)
.Select(x => x.Amount).WithAlias(() => result.Amount)
.Select(x => x.Comment).WithAlias(() => result.Comment)
.Select(x => x.CreateDate).WithAlias(() => result.CreateDate)
.Select(()=> user.Login).WithAlias(() => result.CreateUser)
).TransformUsing(Transformers.AliasToBean<ExpenseDetailsItemVm>())
.List<ExpenseDetailsItemVm>();
我收到这个错误:
Object reference not set to an instance of an object.
我确定问题出在这行代码上:
.Select(()=> user.Login).WithAlias(() => result.CreateUser)
如果我注释掉这一行,查询工作正常并返回结果没有错误。
为了消除映射错误,我尝试了这个:
var u = SessionManager.Session.QueryOver<User>().Where(x => x.Id == 1).
SelectList(list => list.
Select(x => x.Login).WithAlias(() => result.CreateUser))
.TransformUsing(Transformers.AliasToBean<ExpenseDetailsItemVm>())
.List<ExpenseDetailsItemVm>();
这也很好用。
在我的Expenditure
表中,列CreateUser_Id
各处都有一个值
最佳答案
尝试将用作别名的对象作为null:
User user = null;
ExpenseDetailsItemVm result = null;
因为它们仅用于创建具有强类型语法的 SQL。
关于c# - QueryOver 中的 SelectList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46981309/
我正在使用 WatiN 进行一些网络测试,但遇到了选择列表的问题。 我必须先浏览几页,添加一个“类别”元素,该元素将填充所述麻烦的选择列表。 我已经能够使用 ByValue 从列表中轻松选择一个元素,
我是 javascript 的新手,目前正在研究 knockoutjs 库。这是我的问题。我有一个从可观察数组填充的选择列表。当我从选择列表中选择一个值并单击保存按钮时,我希望将该值保存在一个变量中,
我有这个选择列表: Please select a parent category New Store Extensions Remodel Bespoke Signage
我正在尝试在选择列表中设置多个值: SelectList List = new SelectList(MyListItems, "valField", "dataField", ); 我使用什么对象/
我的 View 中有一堆下拉列表,例如这个: @Html.DropDownListFor(model => model.Process, Model.ProcessList) 他们都接受一个Selec
我试图在 dropdownlist 文本中显示多个值。示例如下。 SelectList(Parts, "pno", "pcode"+"pname") 在哪里 pno 是零件编号。 pcode 是部分代
我目前在获取 SelectList 时遇到了一些问题默认为定义的初始值。我创建了一个片段来演示这个问题:https://dotnetfiddle.net/ozroT1 本质上,我希望我的 DropDo
在 MVC4 中: 我的模型中有以下用于下拉列表的属性: public SelectList Subjects { get; set; } 我在页面加载时在我的 Index() 操作中设置 Subje
这可能真的很简单...我正在尝试创建一个 SelectList,其中包含从当前年份开始到 2008 年的年份。情况总是如此。例如,在 2020 年,我的 SelectList 将包含 2020 - 2
我有以下操作方法: public JsonResult LoadSitesByCustomerName(string customername) { var customerlist = re
假设我有一个这样的枚举(仅作为示例): public enum Direction{ Horizontal = 0, Vertical = 1, Diagonal = 2 }
所以我在这个方法中生成了一个 SelectList : public static SelectList HolidayDays() { SelectList retval = Generat
我有一个 IDictionary,现在我想在选择列表中使用这些值。我该怎么做呢? 谢谢。 最佳答案 刚设置"Value"和 "Key"为 dataValueField和 dataTextField .
请帮忙使用 Ajax 填充 SelectList 和选项组吗? 我已正确编码添加项目,但不确定如何添加选项组。 这是我的有效 Ajax 代码: var category = $(this).val()
我在通过 QueryOver 选择时遇到一些问题,这是我的模型类: public class BaseModel { public virtual int Id { get; set; }
所以下面的代码为我提供了一个下拉框,其中包含来自司机的姓名列表,但它只是名字,我也有姓氏,我该怎么做。我的代码是... @Html.DropDownListFor(model => model.Dri
我刚刚开始在 MVC 项目中学习 AutoMapper。我有一个基本实体“Attendee”,其中包含一个性别字符串字段(可能值为“M”或“F”)。 我已经在 Attendee 和 AttendeeE
我正在努力创建一个包含下拉列表的 View 。为了生成选择列表项,我编写了一个方法来返回 SelectListItem 的列表。此下拉列表所需 - 其中一个具有 Selected 属性设置为 true
我有一个具有以下属性的类。它从现有列表构造一个 SelectList 对象,然后设置所选项目。 public SelectList ProviderTypeList { get {
我正在尝试为我的 Controller 中的下拉菜单设置选定值,并通过 ViewBag 将其传递到我的 View 。当我调试时,所有正确的值都被传递给 Controller 和 View ,但当它
我是一名优秀的程序员,十分优秀!