programing

엔티티 프레임워크를 사용하여 모든 행 선택

muds 2023. 6. 25. 20:37
반응형

엔티티 프레임워크를 사용하여 모든 행 선택

양식으로 전송되기 전에 엔티티 프레임워크를 사용하여 데이터베이스의 모든 행을 선택하려고 합니다.

var ptx = [modelname].[tablename]();
ptx.[tablename].Select(????)

뭐가 들어가나요?

엔티티 데이터 소스를 사용했고 원하는 작업에 필요한 모든 것을 제공합니다.

_repository.[tablename].ToList();

Entity Framework에는 다음과 같은 아름다운 점이 있습니다.

var users = context.Users; 

표의 모든 행이 선택됩니다.User그러면 당신은 당신의 것을 사용할 수 있습니다..ToList()기타.


Entity Framework에 새로 가입한 고객의 경우 다음과 같습니다.

PortalEntities context = new PortalEntities();
var users = context.Users;

표의 모든 행이 선택됩니다.User

어때요?

using (ModelName context = new ModelName())
{
    var ptx = (from r in context.TableName select r);
}

ModelName은 디자이너가 자동으로 생성한 클래스이며, 이 클래스는ObjectContext.

이 코드를 사용하여 모든 행을 선택할 수 있습니다.

C# :

var allStudents = [modelname].[tablename].Select(x => x).ToList();

DbSet context.table name을 통해 간단히 반복할 수 있습니다.

foreach(var row in context.tablename)
  Console.WriteLn(row.field);

또는 자신의 목록에 즉시 평가합니다.

var allRows = context.tablename.ToList();

아래에 있는 경우async방법 및 사용ToListAsync()

        public async Task<List<DocumentTypes>> GetAllDocumentTypes()
        {
            var documentTypes = await _context.DocumentTypes.ToListAsync();

            return documentTypes;
        }

이전 게시물은 알고 있지만 사용 중Select(x => x)EF Core(또는 Linq) 식을 쿼리 작성기로 분할하는 데 유용할 수 있습니다.

이것은 동적 조건을 추가하는 데 유용합니다.

예:

public async Task<User> GetUser(Guid userId, string userGroup, bool noTracking = false)
{
    IQueryable<User> queryable = _context.Users.Select(x => x);

    if(!string.IsNullOrEmpty(userGroup))
        queryable = queryable.Where(x => x.UserGroup == userGroup);

    if(noTracking)
        queryable = queryable.AsNoTracking();

    return await queryable.FirstOrDefaultAsync(x => x.userId == userId);
}

다음은 몇 가지 방법입니다(DbConext에 종속성 주입을 사용한다고 가정).

public class Example
{
    private readonly DbContext Context;

    public Example(DbContext context)
    {
        Context = context;
    }

    public DbSetSampleOne[] DbSamples { get; set; }

    public void ExampleMethod DoSomething()
    {
        // Example 1: This will select everything from the entity you want to select
        DbSamples = Context.DbSetSampleOne.ToArray();

        // Example 2: If you want to apply some filtering use the following example
        DbSamples = Context.DbSetSampleOne.ToArray().Where(p => p.Field.Equals("some filter"))

    }

사용할 수 있는 항목:

ptx.[tablename].Select( o => true)

언급URL : https://stackoverflow.com/questions/10900250/select-all-rows-using-entity-framework

반응형