将 DataAnnotations 与实体框架结合使用

2023-12-08

我使用 VS2010 的实体框架创建了一个简单的 person 类,其中包含属性、firstName、lastName 和 email。如果我想像这样附加 DataAnnotations博客文章我有一个小问题,因为我的人员类是动态生成的。我可以直接编辑动态生成的代码,但每当我必须更新模型时,所有验证代码都会被清除。

第一本能是创建一个部分类并尝试附加注释,但它抱怨我正在尝试重新定义属性。我不确定是否可以像 C++ 中的函数声明一样在 C# 中进行属性声明。如果可以的话,这可能就是答案。这是我尝试过的一个片段:

namespace PersonWeb.Models
{
  public partial class Person
  {
    [RegularExpression(@"(\w|\.)+@(\w|\.)+", ErrorMessage = "Email is invalid")]
    public string Email { get; set; } 
    /* ERROR: The type 'Person' already contains a definition for 'Email' */
  }
}

好友类或多或少是您的代码片段运行的方向,除非您手动编码的部分 Person 类将具有一个内部类,例如:

[MetadataType(typeof(Person.Metadata))]
public partial class Person {
    private sealed class MetaData {
        [RegularExpression(...)]
        public string Email { get; set; }
    }
}

或者您可以手动设置部分 Person 类和单独的 Meta 类,例如:

[MetadataType(typeof(PersonMetaData))]
public partial class Person { }

public class PersonMetaData {
[RegularExpression(...)]
public string Email;
}

这些是解决方法,并且具有映射的Presentation 类可能更合适。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 DataAnnotations 与实体框架结合使用 的相关文章

  • 是否需要销毁运算符删除的形式才能真正销毁对象?

    C 20 添加了破坏形式operator delete区别于std destroying delete t范围 它导致delete表达式在调用之前不再销毁对象operator delete 目的是在显式调用对象的析构函数和释放内存之前 允许
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • C# 获取数据表中所有重复行的计数

    我通过运行存储过程来填充数据集 并且从数据集中填充数据表 DataSet RawDataSet DataAccessHelper RunProcedure storedprocedureName this will just return
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 如果将变量设置为等于新对象,旧对象会发生什么?

    假设我们有一个 X 类not有一个超载的operator 功能 class X int n X n 0 X int n n n int main X a 1 an object gets constructed here more code
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • 在 Objective-C 代码中使用 extern "C" 时发生链接器错误

    我正在尝试创建一些可以从 iPhone 应用程序中的 Objective C 和 C 代码调用的实用函数 我有无法编译为 ObjectiveC mm 的第三方 C 类 我有一个头文件声明我的函数 然后有一个定义它们的 c 文件 我已经三次检
  • RSA:在 JavaScript 中加密密码,但在 C# 中解密失败

    我想将RSA加密应用到我的项目中 但遇到了一些麻烦 首先 我从以下位置下载了 JavaScript 库 http www ohdave com rsa 并添加对我的项目的引用 其次 我定义了 RSA 对象和代码来初始化它 internal
  • 查找并替换数组中的重复项

    我需要制作应用程序 用一些随机值填充数组 但如果数组中有重复项 我的应用程序将无法正常工作 所以我需要编写脚本代码来查找重复项并将其替换为其他值 好的 例如我有一个数组 因此结果应是替换重
  • Perl Regex 获取 URL 的根域

    我怎样才能获得网址的某些部分 例如 http www facebook com xxxxxxxxxxx http www stackoverflow com yyyyyyyyyyyyyyyy 我只需要考虑这一部分 facebook com
  • 如果我知道实际数量,如何构建 ThreadId?

    当我在 GHCi 中调试或使用时 我经常会遇到这样的情况 我碰巧知道实际的ThreadId数量 例如使用Debug Trace 但这就是我所拥有的 问题是所有线程 API 例如killThread需要一个ThreadId而不是一个Int 我
  • 使用多个键/值对查找 JSON 对象,然后更新该对象的其他属性

    Given sessionStorage cart id 121 name Pants number 1 specification id 121 name Pants number 2 specification id 121 name
  • Shiny R Zip 多个 PDF 文件可供下载

    如果这太简单了 我很抱歉 我需要压缩一些生成的 pdf 文件以供下载 我尝试使用Zip功能 但失败并出现错误 Warning running command zip r9X pdfs zip plot 1 pdf plot 2 pdf pl
  • .Net DateTime 包含本地时间和夏令时

    恐怕我不太明白 Net 是如何实现的DateTime类处理本地时间戳 我住在德国 所以我的语言环境是 de DE 也许有人可以启发我一点 The DateTime可以使用年 月等参数调用构造函数 另外还有一个DateTimeKind的价值L
  • Sparc 架构的 GCC 内联汇编

    我在互联网上找到了实施 sync val compare and swap define LOCK PREFIX lock struct xchg dummy unsigned long a 100 define xg x struct x
  • 从批处理文件创建 exe 的快捷方式

    如何从批处理文件创建 exe 的快捷方式 i tried call link bat c program Files App1 program1 exe C Documents and Settings USERNAME Desktop C
  • 如何使用 PHP 调整图像大小? [复制]

    这个问题在这里已经有答案了 可能的重复 将图片调整为固定尺寸 如何在 PHP 中调整图像大小 Try GD 和图像函数 或者 如果您想要的不仅仅是这些 像 ImageMagick 这样的库
  • @ViewChild中的read参数是做什么用的

    需要帮助理解以下语句中 read ViewContainerRef 的含义 ViewChild myname read ViewContainerRef target 可以有多个与元素标签相关联的各种类型的实例 myname模板变量 对于每
  • JavaScript 对数组的数组进行排序

    我有这个数组的数组 我希望它按数组的长度排序 我用array sort a b gt a length gt b length 2 2 2 2 2 5 3 3 3 3 1 2 2 1 4 3 1 1 5 5 4 4 4 4 4 4 3 5
  • Swift 泛型:非名义类型不支持显式初始化

    所以我试图理解通用协议和类 protocol ListPresenterType where View PDO SW Dispatcher SW associatedtype Dispatcher ListDispatcherType as
  • 在 Android 应用程序中集成/嵌入 Flash ?可能的?

    从到目前为止我在谷歌上搜索到的内容来看 我们似乎必须在网站中托管 Flash 文件 swf 并在 Web 视图中加载应用程序中的 html 页面 没有其他方法可以做到这一点吗 是否有任何库或其他东西可以集成它们 精简版闪存 以下 URL 讨
  • 如何使用 RetrieVe 或 SQL 查找 UniVerse 中的列列表?

    我有一个问题table 文件 设置为返回列foo on LIST table and SELECT FROM table 我需要知道其他可能的列table 我很确定这是通过设置实现的 不合格的行为定义LIST and select 的行为定
  • 具有共享数据库的微服务?使用多个 ORM? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我正在学习微服务 并且将构建一个具有微服务架构的项目 问题是 我的一位团队成员希望对所有服务使用一个数据库 共享所有表 这样 数据就不会重复 每个服务都将使用不同的框架和语言构建 例如 d
  • 如何计算数组中出现的次数?

    我生成了一个由 1 5 中的 5 个随机整数组成的数组 这是数组现在的样子 myArray 5 3 3 1 4 5 我现在已经按从小到大的升序对 5 个整数组成的数组进行了排序 myArray 5 1 3 3 4 5 我现在需要计算特定整数
  • 如何将我的 Java 程序放入系统托盘中?

    如何为 Java 程序提供系统托盘图标 我尝试在整个网络上搜索 但找不到任何东西 像这样 请参阅Java教程 http download oracle com javase tutorial uiswing misc systemtray
  • 将 DataAnnotations 与实体框架结合使用

    我使用 VS2010 的实体框架创建了一个简单的 person 类 其中包含属性 firstName lastName 和 email 如果我想像这样附加 DataAnnotations博客文章我有一个小问题 因为我的人员类是动态生成的 我