使用 DAL2 访问数据:值不能为空。参数名称:con

Posted

技术标签:

【中文标题】使用 DAL2 访问数据:值不能为空。参数名称:con【英文标题】:Accessing data with DAL2: Value cannot be null.Parameter name: con 【发布时间】:2013-11-24 10:31:54 【问题描述】:

我正在尝试使用 DotNetNuke 中的 DAL2 访问数据。当我使用 repository.Get() 获取某个表的所有字段时,有时会出现此错误:

'值不能为空。参数名称:con'

public IEnumerable<SitesProvince> GetAll()

     using (var ctx = DataContextContent.Instance())
     
          var rep = ctx.GetRepository<SitesProvince>();
          return rep.Get();
     

型号:

[TableName("Sites_Province")]
[PrimaryKey("Sites_Province_No")]
[Cacheable("Sites_Province", CacheItemPriority.Default, 20)]
[Scope("Sites_Province_No")]
public class SitesProvince

    public int Sites_Province_No  get; set; 
    public string BU  get; set; 
    public string Province  get; set; 

可能是什么问题?在某些查询中它有效,而有些则无效,我看不出这些方法之间有任何区别。

我找到了这个,但我没有合同: http://clraddins.codeplex.com/discussions/24568

【问题讨论】:

您能否也显示您的 SitesProvince 模型类的代码? 【参考方案1】:

我通过向我的模型添加一个空的构造函数来解决这个问题。现在一切正常。

【讨论】:

以上是关于使用 DAL2 访问数据:值不能为空。参数名称:con的主要内容,如果未能解决你的问题,请参考以下文章

值不能为空。参数名称:数据源。编辑数据网格并保存到数据库

值不能为空。参数名称:元素

值不能为空。参数名称:dest

System.ArgumentNullException: '值不能为空。参数名称:实体'我在使用 POST 方法时收到此错误

值不能为空。参数名称:httpContext

值不能为空。参数名称:starter中的connectionString appsettings.json