我有一个搜索功能,但我想LocationID成为一个整数数组而不是一个整数.我不知道该怎么做,因为我希望它也可以为空.我已经看过了,int?[]但是我必须检查HasValue每一个条目.有没有更好的办法?
这就是我目前拥有的:
public ActionResult Search(string? SearchString, int? LocationId,
DateTime? StartDate, DateTime? EndDate)
Run Code Online (Sandbox Code Playgroud) 以下可以做吗?我知道域模型永远不应该在视图中使用,但是在视图模型中使用域模型是否可以?对于一些非常小的模型,为它们创建和管理视图模型似乎并不值得.
例如
public class LoginDomainModel
{
public string Email { get; set; }
public string Password { get; set; }
public string DisplayName { get; set; }
public long UserTypeID { get; set; }
public virtual UserType UserType { get; set; }
}
public class UserTypeDomainModel
{
public UserType()
{
this.Logins = new List<Login>();
}
public long UserTypeID { get; set; }
public string UserType { get; set; }
public string Description { get; set; }
public virtual ICollection<Login> Logins …Run Code Online (Sandbox Code Playgroud) 我正在尝试在MVC中格式化一些DateTimes,但DisplayFormat没有应用于Nullable对象,我无法弄清楚为什么.它在CreatedDateTime上工作得很好,但没有LastModifiedDateTime
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy hh:mm tt}")]
public DateTime CreatedDateTime { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy hh:mm tt}")]
public Nullable<DateTime> LastModifiedDateTime { get; set; }
Run Code Online (Sandbox Code Playgroud)
以下是视图
<div class="editor-field">
@Html.DisplayFor(model => model.CreatedDateTime)
<br />
@Html.Raw(TimeAgo.getStringTime(Model.CreatedDateTime))
</div>
@if (Model.LastModifiedDateTime.HasValue)
{
<div class="editor-label">
@Html.LabelFor(model => model.LastModifiedDateTime)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.LastModifiedDateTime)
<br />
@Html.Raw(TimeAgo.getStringTime(Model.LastModifiedDateTime.Value)) By: @Html.DisplayFor(model => model.LastModifiedBy)
</div>
}
Run Code Online (Sandbox Code Playgroud) 我有一个相当复杂的查询,有多个CTE,但有一个主要CTE,其他人都从中拉出来,这是否会导致主CTE多次执行?
我最近一直在推动一些ASP.NET MVC 3和4站点到IIS 7并且遇到了重大问题.通常,修复方法是将以下内容包含在Web.Config中
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么?什么是托管模块?它们如何与ASP.NET MVC/C#一起使用?
编辑:经过进一步测试后,我发现Server 2008 R2和IIS 7.5上不存在此问题,但问题仍然存在,什么是托管模块?如果我在代码中使用一个模块,我怎么知道?
Student s = (Student) db.getByID(Student.class,1);
s.setFirstName("Preston");
db.saveOrUpdate(s); <--Successful save
s = new Student(){{setFirstName("asdf");setLastName("asdf1");}};
s.setSchool((School) db.getByID(School.class, 1));
db.saveOrUpdate(s); <--Error occurs
Run Code Online (Sandbox Code Playgroud)
线程“main”org.hibernate.MappingException 中的异常:未知实体:project.databaseio.TestClass$1
public void saveOrUpdate(Object object)
{
Transaction tx = sessionFactory.getCurrentSession().beginTransaction();
sessionFactory.getCurrentSession().saveOrUpdate(object);
tx.commit();
}
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪
Exception in thread "main" org.hibernate.MappingException: Unknown entity: project.databaseio.TestClass$1
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:548)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:487)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:84)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
at com.sun.proxy.$Proxy0.saveOrUpdate(Unknown Source)
at project.databaseio.DatabaseConnection.saveOrUpdate(DatabaseConnection.java:117)
at project.databaseio.TestClass.main(TestClass.java:21)
Run Code Online (Sandbox Code Playgroud)
学生的休眠配置
<hibernate-mapping> …Run Code Online (Sandbox Code Playgroud)