我有一個項目,我在看它是使用SQL folllowing一些代碼:一把umbraco數據庫.Fetch <>()代碼錯誤 - SQL,C#,ASP.NET
List<RoomAllotmentViewModel> listRoomAllotment = db.Fetch<RoomAllotmentViewModel>
(
"SELECT Id" +
", CONVERT(DATETIME, CONVERT(VARCHAR(4),[Year],0) + '-' + CONVERT(VARCHAR(2),[Month],0) + '-' + CONVERT(VARCHAR(2),[Date],0),120) AllotmentDate" +
", RoomTypeId" +
", (SELECT RoomType FROM RoomType R WHERE A.RoomTypeid = R.Id) RoomTypeName" +
", (Alloted - Booked) Available" +
", Price" +
" FROM Room_Allotment A" +
" WHERE" +
" CONVERT(DATETIME, CONVERT(VARCHAR(4),[Year],0) + '-' + CONVERT(VARCHAR(2),[Month],0) + '-' + CONVERT(VARCHAR(2),[Date],0),120) >= '" + startDay.ToString("yyyy-MM-dd") + "'" +
" AND CONVERT(DATETIME, CONVERT(VARCHAR(4),[Year],0) + '-' + CONVERT(VARCHAR(2),[Month],0) + '-' + CONVERT(VARCHAR(2),[Date],0),120) < '" + endDay.ToString("yyyy-MM-dd") + "'" +
" ORDER BY AllotmentDate, RoomTypeId");
,模式不實體類:
public class RoomAllotmentViewModel
{
public int Id { get; set; }
public DateTime AllotmentDate { get; set; }
public int RoomTypeId { get; set; }
public string RoomTypeName { get; set; }
public int Available { get; set; }
public float Price { get; set; }
}
有實體類的RoomType和Room_Allotment表:
[TableName("RoomType")]
[PrimaryKey("Id", autoIncrement = true)]
[ExplicitColumns]
public class RoomType
{
[Column]
public int Id { get; set; }
[Column]
[Required(ErrorMessage = "Please provide RoomType", AllowEmptyStrings = false)]
public string RoomType { get; set; }
}
[TableName("Room_Allotment")]
[PrimaryKey("Id", autoIncrement = true)]
public class Room_Allotment
{
public Int64 Id { get; set; }
public int Year { get; set; }
public int Month { get; set; }
public int Date { get; set; }
public int RoomTypeId { get; set; }
public int Alloted { get; set; }
public int Booked { get; set; }
public float Price { get; set; }
}
目前我得到以下前ception運行項目:
在序列化類型 「System.Reflection.RuntimeModule」的目的時檢測到循環引用。
描述:在執行 當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。
異常詳細信息:System.InvalidOperationException:在序列化類型爲 'System.Reflection.RuntimeModule'的對象時檢測到循環 引用。
[InvalidOperationException異常:而 序列化類型 'System.Reflection.RuntimeModule' 的目的時檢測到循環引用]
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(對象 O,StringBuilder的SB,的Int32深度,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 2616 System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script.Serialization.JavaScri ptSerializer.SerializeCustomObject(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat)819
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 2834 System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script .Serialization.JavaScriptSerializer.SerializeEnumerable(IEnumerable e可數,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat)186
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember ) 2782 System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script.Serialization.JavaScriptSerializer。SerializeCustomObject(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat)819
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember) 2834 System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script.Serialization .JavaScriptSerializer.SerializeCustomObject(Object o,StringBuilder SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat)819
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember) + 2834 System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(對象 o,StringBuilder sb,Int32深度,Hashtable objectsInUse, Seria lizationFormat serializationFormat)819
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember) 2834 System.Web.Script.Serialization。 JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat)+819
System.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember) 2834 System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, serializationFormat serializationFormat) +819
System.Web.Script.Serialization.JavaScriptSerializer.S erializeValueInternal(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember) 2834 System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(對象 O,StringBuilder的SB,深度Int,哈希表objectsInUse, SerializationFormat serializationFormat,的MemberInfo currentMember) 371 System.Web.Script.Serialization.JavaScriptSerializer.Serialize(對象 OBJ,StringBuilder的輸出,SerializationFormat serializationFormat) 57 System.Web.Script.Serialization.JavaScriptSerializer.Serialize(對象 OBJ ,SerializationFormat serializationFormat)+83
System.Web.Script。Serialization.JavaScriptSerializer.Serialize(對象 OBJ)44 System.Web.Mvc.JsonResult.ExecuteResult(ControllerContext 上下文)325
System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext,的ActionResult的ActionResult)13
System.Web.Mvc。 <> c__DisplayClass1a.b__17() 23 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter 濾波器,ResultExecutingContext preContext,函數功能1 continuation) +242
1續)242
System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +21 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func
System.Web.Mvc。 <> c__DisplayClass1c.b__19() 21 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter 濾波器,ResultExecutingContext preContext,函數功能1 continuation) +242
1個過濾器,的ActionResult的ActionResult)175
System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +21 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
System.Web.Mvc.Async。 <> c__DisplayClass2a.b__20() +89 System.Web.Mvc.Async。 <> c__DisplayClass25.b__22(IAsyncResult的 asyncResult)102 System.Web.Mvc.Async.WrappedAsyncResult1.End() +57 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +43
1.End()62
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult的asyncResult)57 的System.Web .Mvc.Async。 <> c__DisplayClass4.b__3(IAsyncResult的 AR)23 System.Web.Mvc.Async.WrappedAsyncResult1.End() +62
1.End()62
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +47
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult的asyncResult) 47的System.Web .Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult的 結果)9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 9651688 System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾&已完成同步)+155
變量朝九特派和endday指定有:
var startDay = DateTime.ParseExact(arrival, "dd/MM/yyyy", CultureInfo.InvariantCulture);
var endDay = DateTime.ParseExact(departure, "dd/MM/yyyy", CultureInfo.InvariantCulture);
在上面的例外,這些變量的值是:
startDay: {30/08/2015 00:00:00}
endDay: {31/08/2015 00:00:00}
「DB」和它的方法是:ApplicationContext.Current.DatabaseContext.Database;
它是一把umbraco核心庫的一部分。
提前爲任何多餘的信息道歉。基本上我的問題是:
- 爲什麼會發生異常?
- 是否有LINQ解決方案?
非常感謝