Есть ли способ игнорировать столбец сущности из базы данных Кассандры с драйвером .net - PullRequest
2 голосов
/ 23 июня 2019

Я работаю над проектом ядра .net и использую Кассандру в качестве хранилища данных. Мне нужно игнорировать столбец для хранения в базе данных, я видел в EF и в Mongo db как атрибут IgnoreBson , но я не могу найти решение для Кассандры с драйвером .net, используя linq. Я видел решение для драйвера Java, но не для драйвера .net. Я перехожу по этой ссылке .

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 24 июня 2019

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

MappingConfiguration.Global.Define(
   new Map<User>()
      .TableName("users")
      .PartitionKey(u => u.UserId)
      .ExplicitColumns()
      .Column(u => u.UserId, cm => cm.WithName("id")));

https://docs.datastax.com/en/developer/csharp-driver/3.10/features/components/linq/#configuring-mappings

Если вы используете сопоставления на основе атрибутов, вы можете установить ExplicitColumns для TableAttribute:

[Table("users", ExplicitColumns = true)]
public class User
{
  // ...
}

Если вы хотите использовать большинство свойств вашей сущности, игнорируя при этом лишь некоторые из них, вы также можете использовать IgnoreAttribute:

[Table("users")]
public class User
{
  // ...

  [Ignore]
  public string IgnoreMe { get; set; }
}
1 голос
/ 23 июня 2019

Очень просто в EF Core. У вас есть два варианта, аннотации данных или свободная конфигурация.

Свободная конфигурация позволяет использовать «лучшие практики», поэтому я, если возможно, склоняюсь к этому. Вот несколько примеров обоих методов: https://docs.microsoft.com/en-us/ef/core/modeling/included-properties

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...