我正在使用LINQ to SQL查询来返回应用程序中的数据。但是,我发现现在需要返回“名称”列。请尝试,因为我可能完全无法在互联网上找到方法。
因此,如果我的LINQ实体表具有属性(Last_Name,First_name,Middle_Name),则需要返回:
Last_name First_Name Middle_name
而不是通常的
Smith John Joe
您当然可以使用某些LINQ-To-Xml直接针对“ .edmx”文件或已编译程序集中的嵌入式模型资源来执行此操作。
以下查询获取字段(而非列)名称。如果您需要这些列,则只需更改查询即可。
var edmxNS = XNamespace.Get(@"http://schemas.microsoft.com/ado/2007/06/edmx"); var schemaNS = XNamespace.Get(@"http://schemas.microsoft.com/ado/2006/04/edm"); var xd = XDocument.Load(@"{path}\Model.edmx"); var fields = from e in xd .Elements(edmxNS + "Edmx") .Elements(edmxNS + "Runtime") .Elements(edmxNS + "ConceptualModels") .Elements(schemaNS + "Schema") .Elements(schemaNS + "EntityType") from p in e .Elements(schemaNS + "Property") select new { Entity = e.Attribute("Name").Value, Member = p.Attribute("Name").Value, Type = p.Attribute("Type").Value, Nullable = bool.Parse(p.Attribute("Nullable").Value), };