I am having a project in which I have my API classes and in that project I have generated the Database.cs. In my MVC project I have refenrenced the API. Uppon running the application I am having the error message as follows, can anyone help please as I can`t understand why I am having this error message.
From http://www.garethelms.org/2011/05/help-getting-started-with-petapoco/#comment-69, I can see that all the GetSetMethod() are GetSetMethod(true) ever since the petaPOCo is installed.
Value cannot be null. Parameter name: meth Description: An unhandled
exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and
where it originated in the code.Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: methSource Error:
Line 1990: } Line 1991: Line
1992: il.Emit(OpCodes.Callvirt,
pc.PropertyInfo.GetSetMethod(true)); // poco Line
1993: Handled = true; Line 1994: }Source File: C:\Dev\MyProjectTest\Code\API\Models\PetaPoco.cs Line:
1992Stack Trace:
[ArgumentNullException: Value cannot be null. Parameter name: meth]
System.Reflection.Emit.DynamicILGenerator.Emit(OpCode opcode,
MethodInfo meth) +9492330 PetaPoco.PocoData.GetFactory(String sql,
String connString, Boolean ForceDateTimesToUtc, Int32 firstColumn,
Int32 countColumns, IDataReader r) in
C:\Dev\MyProjectTest\Code\API\Models\PetaPoco.cs:1992
PetaPoco.d__71.MoveNext() in1..ctor(IEnumerable
C:\Dev\MyProjectTest\Code\API\Models\PetaPoco.cs:765
System.Collections.Generic.List1 collection) +3271 source) +58
System.Linq.Enumerable.ToList(IEnumerable
PetaPoco.Database.Fetch(String sql, Object[] args) in
C:\Dev\MyProjectTest\Code\API\Models\PetaPoco.cs:601
PecaTest.NewProject.API.Customer.LoadSortedByName() in
C:\Dev\MyProjectTest\Code\API\Customer.cs:68
PecaTest.NewProject.MvcUI.Models.CustomerListModel..ctor() in
C:\Dev\MyProjectTest\Code\MvcUI\Models\CustomerListModel.cs:14
PecaTest.NewProject.MvcUI.Controllers.CustomerController.GetIndexView()
in
C:\Dev\MyProjectTest\Code\MvcUI\Controllers\CustomerController.cs:82
PecaTest.NewProject.MvcUI.Controllers.CustomerController.Index() in
C:\Dev\MyProjectTest\Code\MvcUI\Controllers\CustomerController.cs:19
lambda_method(Closure , ControllerBase , Object[] ) +96
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase
controller, Object[] parameters) +51
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext
controllerContext, IDictionary2 parameters) +4092
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext
controllerContext, ActionDescriptor actionDescriptor, IDictionary
parameters) +52
System.Web.Mvc.<>c_DisplayClassd.b_a()
+127 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
filter, ActionExecutingContext preContext, Func1 continuation) +4361 continuation) +436
System.Web.Mvc.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c()
+61 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
filter, ActionExecutingContext preContext, Func
System.Web.Mvc.<>c_DisplayClassf.b_c()
+61 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext
controllerContext, IList1 filters, ActionDescriptor actionDescriptor,2 parameters) +305
IDictionary
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext
controllerContext, String actionName) +830
System.Web.Mvc.Controller.ExecuteCore() +136
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
+111 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext
requestContext) +39
System.Web.Mvc.<>c_DisplayClass8.b_4() +65
System.Web.Mvc.Async.<>c_DisplayClass1.b_0() +44
System.Web.Mvc.Async.<>c__DisplayClass81.<BeginSynchronous>b__7(IAsyncResult1.End() +140 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
_) +42 System.Web.Mvc.Async.WrappedAsyncResult
Object tag) +54
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,
Object tag) +40
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+52 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult
result) +38
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+8969117 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184——————————————————————————– Version Information: Microsoft .NET Framework Version:4.0.30319;
ASP.NET Version:4.0.30319.272
Customer class
` private int id = 0;
public int ID
{
get { return id; }
set { id = ID; }
}
protected string name;
public Customer() { }
public Customer(string name)
{
this.name = name;
}
public string Name
{
get { return name; }
set { name = value; }
}
public override string ToString()
{
return name;
}
`
The issue was indeed with the POCO as I missed to set and get the ID