how to get value of a definite Column name in c# / Linq?

你离开我真会死。 提交于 2019-11-29 12:34:44

You want to the source code in C# to create a linq query that compiles to SELECT NAME FROM PERSON under Linq to SQL or Linq to Entity Framework?

IEnumerable<string> names = from x in context.PERSONS
                            select x.Name;

OR

IEnumerable<string> names = context.PERSONS.Select(x => x.Name);

In Monad parlance you want a projection onto the Name property.

EDIT : You want to dynamically state which column?

string columnName = "Name";
ParameterExpression personExpression = Expression.Parameter(typeof(Person), "p");
Expression<Func<Person, string>> column = Expression.Lambda<Func<Person, string>>(Expression.PropertyOrField(personExpression, columnName), personExpression);

IEnumerable<string> things = context.PERSONS.Select(column);

try this

fundPerson = context.PERSON.Where(a=>a... == NAME).Select(a=>a.NAME).SingleOrDefault();

Your question is a bit misleading.. Are you after a collection of names, like what you would get from running the SQL "SELECT Name FROM Person"?

If so, using Linq-to-sql syntax:

var people = from p in context.PERSON select a.NAME;

If you're trying to find a specific person, based on the NAME string?

string name = "barry";
var person = from p in context.PERSON select a where a.NAME.Contains(name);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!