如何阻止[Required]批注在覆盖的字段上继承? - c#

我有一个电话号码通知模型(用户通过与他们的帐户相关联的电话号码收到紧急情况通知,他们可以设置呼叫的顺序)。在大多数情况下,模型的电话号码部分是必需的,但是在创建新用户的过程中有一种特殊情况,我们不想强制使用它。

我做了一个非常简单的子对象UserCreationPhoneNotificationModel,它继承自上述UserPhoneNotificationModel。还有其他一些小的更改,但此处的相关更改是覆盖PhoneNumber字段,因此不再需要它。

在父模型中

[Required]
public virtual string PhoneNumber { get; set; }

在子模型中

public override string PhoneNumber { get; set; }

我认为这可以解决问题,但显然不能。我认为问题在于,RequiredAttribute上将具有Inherited = true,但事实并非如此,因此我不完全确定为什么将其继承到子类中。

我做了仔细检查以确保,并从父级的字段中删除了Required,这也使得子类中的字段不是必需的,因此,这绝对是一种继承。

参考方案

当您要建模的关系不适合时,使用继承来共享行为可能会出现问题。使用继承在ViewModel之间共享行为通常不会带来任何好处,尽管您可能(并且确实会遇到)遇到问题。

最好的选择是为每个用例使用不同的模型类。如果您确实需要在ViewModel之间共享行为,则可以使用组合来实现。

Spring Data Cassandra的事务管理 - java

我正在使用Spring和Cassandra作为基础数据库。曾提到过弹簧伞项目“ spring data cassandra”。与休眠不同,在这里无法找到如何管理事务。如果您中的某些人已经合并,请共享要包含的事务管理器的详细信息。 参考方案 Cassandra不支持传统(ACID)的事务。在某些特殊情况下,可以通过一些构造来实现事务原子性,例如原子批处理(请参…

从Azure Data Factory执行python脚本 - python

有人可以帮我从Azure数据工厂执行python函数吗?我已经将python函数存储在blob中,并且我试图触发同样的功能。但是我无法做到这一点。请协助。第二,我可以从ADF参数化python函数调用吗? python参考方案 您可能会发现ADF中的Azure Function Activity概念,它允许您在Data Factory管道中运行Azure F…

自动更新ext.data.store上的新数据 - php

我有这个extjs数据存储 mystore= Ext.create('Ext.data.Store', { id: 'store_id', fields: ['label', 'value', 'id', 'type'], autoLoad…

如何使用Spring Data JPA更新实体中的集合字段? - java

假设我有两个实体,它们的字段之间具有@ManyToMany关系。第一个实体称为Pack:@ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL}) @JoinTable(name = "card_in_pack", joinColumns = {@JoinColumn…

更新System.Data.SQLite.dll后,SQLite无效URI - c#

我首先有以下SQLite版本:1.0.77.0(sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.77.0)而且一切正常。将System.Data.SQLite.dll更新到版本1.0.82.0(sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.82.0)…