是否有任何方法可以忽略带有.net驱动程序的cassandra数据库中实体的列

von4xj4u  于 2021-06-14  发布在  Cassandra
关注(0)|答案(2)|浏览(304)

我正在从事一个.net核心项目,并使用cassandra作为数据存储。我需要忽略存储在数据库中的列,我在ef和mongo db中看到了ignorebson属性,但我无法找到使用linq的.net驱动程序的cassandra解决方案。我看到了java驱动程序的解决方案,但没有看到.net驱动程序的解决方案。我正在关注这个链接。
提前谢谢。

qij5mzcb

qij5mzcb1#

ef核心非常简单。。您有两个选项,数据注解或fluent配置。
流畅的配置有助于“更好的练习”,所以如果可能的话,我会倾向于这一点。。以下是两种方法的一些示例:https://docs.microsoft.com/en-us/ef/core/modeling/included-properties

cx6n0qe3

cx6n0qe32#

可以使用 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-Map
如果使用基于属性的Map,可以设置 ExplicitColumnsTableAttribute :

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

如果您想使用实体中的大多数属性,而忽略其中的一些属性,那么也可以使用 IgnoreAttribute :

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

  [Ignore]
  public string IgnoreMe { get; set; }
}

相关问题