홈>
sql select와 비슷한 select 문을 생성하고 싶습니다 :
public partial class Person{
public string Name {get;set;}
public string FirstName{ get;set;}
public string DisplayName {get;set;}
public string Town{get;set;}
public int Age {get;set;}
}
select p.*, (p.NAME + ', ' + p.FirstName) as DisplayName from Person p
linq에서는 이렇게하겠습니다
from p in Person select new
{
p.Name, p.FirstName, p.Age, p.Town, // and so on...
DisplayName = p.NAME + ', ' + p.FirstName
}
모든 속성을 나열하지 않고 SQL select에서와 같이하는 방법이 있습니까?
업데이트 :
여기서 linqToDB와 함께 원래 클래스를 사용하고 있기 때문에 :
[Table("PERSON")]
public class Person{
[Column("ID"), PrimaryKey, NotNull]
public int Id { get; set; }
[Column("NAME")]
public string Name {get;set;}
[Column("FIRST_NAME")]
public string FirstName{ get;set;}
public string DisplayName {get;set;}
[Column("TOWN")]
public string Town{get;set;}
[Column("AGE")]
public int Age {get;set;}
}
-
답변 # 1
-
답변 # 2
이러한 방식으로 기존 클래스를 변경할 수 있으므로 이름을 명시 적으로 조작 할 필요가 없습니다
public class Person{ public string Name {get;set;} public string FirstName{ get;set;} public string DisplayName { get{ return this.Name+","+this.FirstName; } } public string Town{get;set;} public int Age {get;set;} }
-
답변 # 3
직접 모든 방법을 선택할 수 없습니다. 모든 속성을 선택하려면이 방법으로 수행해야합니다. 그렇지 않으면 제안 사항이 위와 같이 작동합니다.
var result = yourEntity.ToList(); //If it is a list var result = yourEntity.FirstOrDefault() //If you only want one item
그런 다음
result
에 액세스하십시오 그리고DisplayName
를 설정 값 :result.DisplayName = $"{result.Name}, {result.FirstName}";
또는 Entity Framework를 사용하여 매퍼가 가지고있는 각 객체를 매핑하도록 할 수 있습니다
-
답변 # 4
Person 클래스를 다음으로 변경 :
[Table("PERSON")] public class Person{ [Column("ID"), PrimaryKey, NotNull] public int Id { get; set; } [Column("NAME")] public string Name {get;set;} [Column("FIRST_NAME")] public string FirstName{ get;set;} public string DisplayName {get;set;} [Column("TOWN")] public string Town{get;set;} [Column("AGE")] public int Age {get;set;} public static Person Build(Person person, string displayName) { if (person != null) { person.DisplayName = displayName; } return person; } }
사용법 :
from p in Person select Person.Build(p, p.Name + ', ' + p.FirstName);
관련 자료
- python - 쿼리 집합 결과에 추가 필드를 추가하는 Django
- wordpress - 데이터베이스에서 내 user_login을 acf 선택 필드 코드로로드
- python - 만료일 필드를 선택하십시오
- php - 게시물 계산 필드를 사용하여 Cakephp 쿼리를 정렬하고 페이지 매김에 전달하는 방법은 무엇입니까?
- amazon quicksight - 피벗 테이블의 계산 된 필드 부분 합계에 올바른 값이 표시되지 않습니다
- mysql - 사례 선택/다른 필드를 기준으로 한 필드 업데이트
- php - WooCommerce 결제의 맞춤형 DB 테이블에서 필드 선택 옵션 가져 오기
- wordpress - 유연한 컨텐츠가 표시되지 않는 repeater 필드 내의 ACF 선택 필드
- ms access - 계산 된 필드에서 0을 반환하는 방법
- javascript - 기존의 선택된 항목을 잃지 않고 프로그래밍 방식으로 select2 다중 선택 드롭 다운에서 추가 선택을 추가하는 방법
- vb.net - SQLITE는 텍스트 필드에서 숫자 값만 선택합니다
- powerbi - 요약 된 데이터에서 계산 된 필드 생성
- php - 선택 필드에서 가치를 얻고 데이터베이스와 비교
- javascript - jQuery 및 PHP를 사용하여 MySQL 데이터베이스에서 쿼리 한 JSON 데이터로 HTML 선택 필드 채우기
- Tableau Server에서 계산 된 필드 차원을 주문/정렬하는 방법은 무엇입니까?
- Using Dynamic Linq Select - dynamic linq select 사용 - guid field throwing exception
- postgresql - SQL 다중 선택 필드를 합계가있는 행으로 변환하는 방법
- sql - mysql - select * 및 다른 필드 구문
- powerbi - Power BI에서 계산 된 필드와 측정 값을 사용하는 경우
- sql server - SQL에서 사용자 지정 계산 된 필드 그룹을 합산하려면 어떻게해야합니까?
관련 질문
- c# - 조인 테이블에 테이블을 추가하는 방법은 무엇입니까? ASPNET MVC
- sql - texbox에서 C # 액세스 데이터베이스 업데이트
- c# - 저장 프로 시저에서 출력 매개 변수 결과 및 쿼리 결과를 얻는 방법은 무엇입니까?
- c# - GroubBy ()의 결과를 List >로 가져옵니다
- c# - 문자열의 Any ()
- c# - linq - 객체의 가치를 얻는 방법
- c# - 목록에서 특정 속성을 선택하는 방법
- c# - 런타임에 동적으로 Predicate 를 만드는 방법
- c# - Entity Framework Core에서 레코드 집합을 삭제하려면 어떻게해야합니까?
- C # Linq OrderBy Reflection with 구분 된 문자열
예, 전체 객체를 select 문으로 가져옵니다.
면책 조항 : 속성 1Person person
를 가진 익명 객체를 선택합니다. 그리고 또 다른string DisplayName
.person.DisplayName
를 초기화하지 않습니다 속성. 또 다른 가능성은 클래스Person
를 제공 할 수 있습니다 재산DisplayName
에 대한 적절한 게터 :값에 액세스하려고 할 때마다 원하는 값으로 속성을 초기화합니다. 그리고 당신은 문장을 선택하는 것이 매우 간단 해집니다 :
Linq to SQL을 사용하는 경우 클래스는 부분적 일 수 있으며 여기에 세 번째 전략을 적용 할 수 있습니다. 다른 부분 클래스
Person
만들기Person
를 허용하는 새로운 생성자를 제공하십시오. 매개 변수로 초기화를 처리하십시오.선택한 문장은 다음과 같습니다 :