【发布时间】:2018-03-07 06:49:07
【问题描述】:
我终于开始在我们的旧 API 中实现 Linq,所以我开始为数据库创建与我们的表和 DB 类相关的所有类,我遵循了一个在线指南,但我无法让它工作。我的 Company.cs 有以下代码:
using RAW_API.Models;
using System.Data.Linq;
using System.Data.Linq.Mapping;
namespace RAW_API.DataContexts {
[Database]
public class Company : DataContext {
public Table<NewsItems> news_items;
public Company( string connection ) : base( connection ) { }
}
}
对于我的 NewsItems.cs 类文件:
using System;
using System.Data.Linq.Mapping;
namespace RAW_API.Models {
[Table( Name = "news_items" )]
public class NewsItems {
[Column( IsPrimaryKey = true, IsDbGenerated = true )]
public int id { get; set; }
[Column]
public string titleNL { get; set; }
[Column]
...
}
}
所有类和字段都是公开的,但仍然会抛出以下错误:
错误 CS0052:可访问性不一致:字段类型 “表”比字段更难访问 'Company.news_items' ApplicationServerWrapper K:\Group\repo_groclaes_rawapi\ApplicationServerWrapper\DataContexts\Company.cs:8
【问题讨论】:
-
Table类型在哪里或是什么? -
您的
Table类型似乎不是public,而是您的班级NewsItems。正如@rene 所说,您的类型Table是什么?它是如何定义的?使用什么访问修饰符? -
@rene 这是来自 linq 的包含类,这让我感到困惑。 'class System.Data.Linq.Table
where TEntity : class'
标签: c# linq datacontext