我有一个电话号码通知模型(用户通过与他们的帐户相关联的电话号码收到紧急情况通知,他们可以设置呼叫的顺序)。在大多数情况下,模型的电话号码部分是必需的,但是在创建新用户的过程中有一种特殊情况,我们不想强制使用它。
我做了一个非常简单的子对象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)…