LINQ к DataSet, отличному несколькими столбцами

В дополнение к правильному ответу @jsolum, здесь есть работающий поставщик, который использует аннотации fastxml для проверки видимости полей и методов:

@Provider
public class JsonConfig implements ContextResolver<Jsonb> {

    @Override
    public Jsonb getContext(Class aClass) {
        JsonbConfig config = new JsonbConfig();
        config.withPropertyVisibilityStrategy(new PropertyVisibilityStrategy() {
            @Override
            public boolean isVisible(Field field) {
                JsonIgnore annotation = field.getAnnotation(JsonIgnore.class);
                return annotation == null || !annotation.value();
            }

            @Override
            public boolean isVisible(Method method) {
                JsonIgnore annotation = method.getAnnotation(JsonIgnore.class);
                return annotation == null || !annotation.value();
            }
        });
        return JsonbBuilder.create(config);
    }
}
10
задан Community 23 May 2017 в 11:50
поделиться

2 ответа

Ну, можно сделать проекцию сначала:

var qry = db.Customers.Select(cust => new {cust.ID, cust.Name, cust.Region})
                    .Distinct();

Или в синтаксисе запроса:

var qry = (from cust in db.Customers
          select new {cust.ID, cust.Name, cust.Region}).Distinct();

Это делает?

31
ответ дан 3 December 2019 в 13:24
поделиться

"Отличным несколькими столбцами" то, что Вы действительно имеете в виду, является группой.

Когда Вы просите отличный, это означает, что Вы получаете ВСЕ отличные строки, или, группа при помощи всех столбцов в таблице.

Если Вы хотите только получить отличные группировки для подмножества столбцов, то используйте группу в Вашем пункте, указывая столбцы для группировки. Затем выберите группы, поскольку Вы только хотите один набор ключей для каждой группы.

5
ответ дан 3 December 2019 в 13:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: