我正在从事一个.net核心项目,并使用cassandra作为数据存储。我需要忽略存储在数据库中的列,我在ef和mongo db中看到了ignorebson属性,但我无法找到使用linq的.net驱动程序的cassandra解决方案。我看到了java驱动程序的解决方案,但没有看到.net驱动程序的解决方案。我正在关注这个链接。提前谢谢。
qij5mzcb1#
ef核心非常简单。。您有两个选项,数据注解或fluent配置。流畅的配置有助于“更好的练习”,所以如果可能的话,我会倾向于这一点。。以下是两种方法的一些示例:https://docs.microsoft.com/en-us/ef/core/modeling/included-properties
cx6n0qe32#
可以使用 MappingConfiguration . 如果只需要包含特定列,请使用选项 ExplicitColumns :
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,可以设置 ExplicitColumns 上 TableAttribute :
TableAttribute
[Table("users", ExplicitColumns = true)] public class User { // ... }
如果您想使用实体中的大多数属性,而忽略其中的一些属性,那么也可以使用 IgnoreAttribute :
IgnoreAttribute
[Table("users")] public class User { // ... [Ignore] public string IgnoreMe { get; set; } }
2条答案
按热度按时间qij5mzcb1#
ef核心非常简单。。您有两个选项,数据注解或fluent配置。
流畅的配置有助于“更好的练习”,所以如果可能的话,我会倾向于这一点。。以下是两种方法的一些示例:https://docs.microsoft.com/en-us/ef/core/modeling/included-properties
cx6n0qe32#
可以使用
MappingConfiguration
. 如果只需要包含特定列,请使用选项ExplicitColumns
:https://docs.datastax.com/en/developer/csharp-driver/3.10/features/components/linq/#configuring-Map
如果使用基于属性的Map,可以设置
ExplicitColumns
上TableAttribute
:如果您想使用实体中的大多数属性,而忽略其中的一些属性,那么也可以使用
IgnoreAttribute
: