【发布时间】:2011-06-28 19:35:29
【问题描述】:
我正在使用 WCF 服务开发 Silverlight 应用程序,我需要从特定表中获取所有列标题。我一直在尝试编写一个 LINQ 查询来执行此操作,但到目前为止我还无法让它正常工作。我没有找到很多与此有关的信息。我找到了以下信息,但我无法连接到我的数据。
http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/4856/#ReadAndPostComment
到目前为止,我已经尝试了以下...由于 DataContext 需要一个参数,这将无法编译,这就是我卡住的地方。
public List<string> GetColumnHeaders()
{
DataContext context = new DataContext();
List<string> columnList = new List<string>();
var dataModel = context.Mapping;
foreach (var r in dataModel.GetTables())
{
if (r.TableName.Equals("table1", StringComparison.InvariantCultureIgnoreCase))
{
foreach (var c in r.RowType.DataMembers)
{
columnList.Add(c.MappedName);
}
}
}
return columnList;
}
而不是使用DataContext context = new DataContext();
我尝试了以下方法,但我知道问题是一样的。
var dataModel = new AttributeMappingSource()
.GetModel(
typeof(RepositoryBase<HBS_SondesEntities>
));
【问题讨论】:
-
@Nix 我发布了我的服务调用的方法。
-
DataContext 是一个基类,因此您需要插入 your 上下文。你用的是EF吗? LINQ2SQL ?您的数据来自哪里?
-
@Nix 我正在使用 EF。我遵循了使用存储库模式的 Microsoft 教程,因此我有一个 RepositoryBase 类。我发布的代码来自一个子类。 RepositoryBase 类让我有些困惑,这可能是我访问上下文的主要问题。
-
您尝试使用
HBS_SondesEntities()吗? -
@Nix 我尝试使用 HBS_SondesEntities 但它也不起作用。当我进入 foreach 循环时,应用程序会抛出 NullReferenceException。
标签: c# .net silverlight wcf linq