在生成的实体框架类上实现 INotifyPropertyChanged

2024-01-01

我有一个 SQL 数据库,并且正在实现一个 WPF UI 来更新它。如果我使用 EF5 从数据库生成类,如何在生成的类和属性上实现 INotifyPropertyChanged,以便我可以轻松地使用 UI 绑定到它们?有没有一种简单的方法可以实现这一目标?

Thanks


如果您遵循推荐的MVVM http://msdn.microsoft.com/en-us/magazine/dd419663.aspx对于 WPF 模式,您可以将生成的类视为模型,然后编写实现 INotifyPropertyChanged 的​​ ViewModel 包装器。 ViewModel 类将访问您的数据库类并公开可在 XAML 中绑定到 UI 的属性。

正如您的评论中所指出的,这可能会导致编写样板代码的大量工作,但有一些方法可以解决这个问题。看这个问题 https://stackoverflow.com/questions/1261371/reducing-boilerplate-code-in-mvvm-wpf-app-for-attached-properties-commands-etc一些想法。

虽然一开始需要做更多工作,但从长远来看,如果您需要进行任何中间格式化或处理,或者需要在不影响 UI 的情况下更改数据库类,那么 MVVM 模式肯定会带来回报。

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

在生成的实体框架类上实现 INotifyPropertyChanged 的相关文章

  • 从 DataGridColumn 中绑定到 DataContext 属性

    财产Foo在我的DataContext ViewModel Visibility Foo 但我不知道如何访问Foo里面一个Column 在这种情况下 我认为它可能正在寻找Foo在任何绑定到的对象中DataGrid ItemsSource
  • 如何使用 linq to sql 一次更新多行?

    Table id userid friendid name status 1 1 2 venkat false 2 1 3 sai true 3 1 4 arun false 4 1 5 arjun false 如果用户发送userid 1
  • EF 迁移迁移到 0 调用初始创建关闭

    我正在尝试找出将迁移降低到空数据库的语法 就像在初始创建迁移中调用 down 方法一样 有谁知道在迁移中调用 Down 方法的正确语法与此类似 Update Database StartupProjectName Infrastructur
  • WinRT 中的当前文化是错误的

    我正在尝试使用 WinRT 中的当前文化来格式化日期时间值 但CurrentCulture属性似乎并不尊重系统文化 我尝试了以下两个属性 System Globalization CultureInfo CurrentCulture Dis
  • 在WPF中如何添加菜单项事件?

    在我的 WPF 应用程序中 我添加一个菜单 然后在其下添加几个菜单项 例如 我的菜单项之一是 Main Item 然后我在 Main Item 下添加subItem1 subItem2和subItem3 我想单击 subItem1 并执行某
  • Visual Studio 不显示设计数据

    我目前正在尝试将设计数据集成到我的 UWP 应用程序中 对于这种方法 我遵循了微软的步骤 https learn microsoft com en us windows uwp data binding displaying data in
  • WPF:BinaryFormatter 可以序列化 FlowDocument 实例吗?

    我喜欢使用binaryformatter来序列化流文档 但这是例外 Serializable public class BinFlow public FlowDocument my get set BinFlow myBF new BinF
  • OpenGL:顶点越多,性能越慢

    我正在开发一个程序的一部分 其中给定 xyz 坐标集合 制作 3D 模型 我已经完成了这张图片所需的所有功能 即平移 旋转 缩放 但是给出的 xyz 坐标越多 程序运行速度就越慢 我的程序在处理 29 000 个坐标时运行得非常流畅 但当我
  • 如何检索 ComboBox 选定的值作为枚举类型?

    这是我的Enum code public enum EmployeeType Manager Worker 我将初始化ComboBox值 而表单将自身初始化为 combobox1 ItemsSource Enum GetValues typ
  • 如何知道 WPF 中的控件(或窗口)何时被渲染(绘制)?

    我需要将窗口的内容存储到图像中 保存并关闭窗口 如果我在 加载 事件上关闭窗口 则图像包含窗口 其中某些项目绘制正常 其他一些项目仅绘制了一半或扭曲 而其他项目则不在图像上 如果我设置一个计时器并在一定时间后关闭窗口 250 毫秒到 1 秒
  • 实体框架 5 - 抽象类型“X”没有映射的后代,因此无法映射

    尝试操作时出现以下错误这个对象 https github com gbirchmeier quickfixn blob master QuickFIXn Message FIX44 TradeCaptureReportRequestAck
  • WPF 和 ClickOnce

    MSDN 未将 WPF exe 列为 ClickOnce 支持的应用程序类型 ClickOnce 应用程序是任何 Windows Presentation Foundation xbap Windows 窗体 exe 控制台应用程序 exe
  • 如何获取运行或段落的高度

    我找到了Run or Paragraph in FlowDocument现在我需要知道HEIGHT of it i e while navigator CompareTo flowDocViewer Document ContentEnd
  • WPF C# 输入框

    我正在使用 C 构建 WPF 应用程序 我想弹出一个对话框提示用户输入他 她的名字 之后 我将跟踪该名称并将一些数据保存到 txt使用该名称的文件 例如 输入的名称是姓名 约翰 所以我有数据数据 1 2 3 然后我将 数据 保存在John
  • 是否可以仅突出显示图像的某些部分(不透明度)?

    我已对图像应用了不透明度 这是代码
  • WPF 3D - 在复杂几何体上映射渐变画笔

    我想问是否有人知道如何在 WPF 3D 中的复杂对象上映射渐变画笔 结果应该类似于 matlab 中的 3D 图像 例如 3D 函数 假设您有一些想要可视化的 3 维数据 并且想要通过颜色区分某些级别的值 给定一个 GradientBrus
  • 将快速文本输入发送到另一个进程(窗口)

    我正在编写一个 C WPF 程序 它将文本消息发送到另一个程序的窗口 我有一个宏程序作为我的键盘驱动程序 Logitech g15 的一部分 它已经做到了这一点 尽管它不会将击键直接发送到进程 而是发送到当前聚焦的窗口 它运行良好 但我也需
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • WPF DataGrid / ListView 绑定到数组 mvvm

    我们假设你有 N 个整数的数组 表示行数的整数值 在模型中 该整数绑定到视图中的 ComboBox Q1 如何将数组 或数组的各个项目 绑定到 DataGrid 或 ListView 控件 以便 当您更改 ComboBox 值时 只有那么多
  • Visual Studio 2015 EDMX 模型浏览器和图表丢失

    我最近更新到 Visual Studio 2015 打开我的解决方案并运行 直到我决定将一个实体添加到我的 edmx 中 因此 我双击 edmx 文件来打开图表 或者至少是模型浏览器 但它只打开一个 XML 页面 我检查了安装程序中任何丢失

随机推荐

  • 条件逻辑在默认的knockout.js 2.0模板引擎下工作吗?

    下面的条件不适用于我的默认模板与 knockout js 2 0 它只是写出 IF 语句 span if data app viewModel admin home paging page span span else a href a i
  • CPU 总使用率 - 多核系统

    我正在使用 xen 并与xen top我得到了 CPU 总使用率的百分比 NAME STATE CPU sec CPU MEM k MEM MAXMEM k MAXMEM VCPUS NETS NETTX k NETRX k VBDS VB
  • 日期时间差异返回正确的月份甚至年份?

    是否有任何内置函数如何以比仅天数更好的方式获取 DateTime 对象之间的差异 我的意思是 1 个月零 23 天 我发现由于每个月的天数 闰年等不同 计算起来非常困难 谢谢 看一下野田时间 http noda time googlecod
  • “Typemock Isolator”如何模拟静态方法?

    正如你们中的一些人所知 通常不可能在 net 中模拟静态方法 通过模拟 我的意思是用具有相同签名的另一个方法替换类中的方法 通常用于测试目的 用于模拟方法的两种主要方法是将其声明为虚拟方法或在接口中定义它 net 静态方法不允许使用这两种方
  • Chrome“无法拖动”图标会干扰鼠标悬停事件,我该如何防止这种情况?

    下面是一些使用 JavaScript 创建一堆 div 元素来充当像素的代码 我为 mouseover 事件添加了一个事件侦听器 并检查鼠标是否被按下 如果按下鼠标 我会更改该像素的颜色 最终结果是一个简单的绘图函数 我相信使用 HTML5
  • Entity Framework Core:获取所有表的列表

    如何获取数据库上下文中 Entity Framework Core 中所有表的列表 以下答案适用于 Entity Framework 5 中的早期版本 我们目前使用的是 EF Core 3 如何获取 EF 5 中所有实体的列表 https
  • 在 Propel 1.5 中执行多个条件的连接

    这个问题是从问题而来的here https stackoverflow com questions 6877226 rewriting not in sub select as join for propel and here https
  • 带有复杂编辑器的 JTable

    我有许多用于 JTable 的自定义编辑器 可以轻描淡写地说 其可用性 尤其是在使用键盘进行编辑方面 缺乏可用性 主要原因是我的编辑器总是在与此类似 尽管通常更复杂 的情况下创建 Override public Component getT
  • 从 SELECT 插入但更改一列?

    想知道是否有一种方法可以将行从另一个表插入到另一个表中 但一列除外 对于有限数量的列来说 这当然很容易 但是当列数增加时 列出所有列会有点烦人 我在想一些事情 Insert into table select replace col1 wi
  • Autofac。如何使用自定义方法(属性)来解析某些接口?

    我有以下接口 public interface IConfigurationProvider
  • Opera 跨源资源共享

    有人找到了 Opera 关于跨源资源共享的解决方法吗 我想做一个跨域XmlHttpRequest从我放置在 bar com 上的脚本到我的域 foo com The standard http www w3 org TR cors 目前为止
  • 跨文件的代码组织必须处理模板函数和内联

    我正在维护一个大型模板类库 它们基于以下任意一个执行代数计算float or double类型 许多类都有访问器方法 getter 和 setter 和其他运行少量代码的函数 因此当编译器找到它们的定义时 需要将这些函数限定为内联 相比之下
  • 可以聚合根实体调用存储库

    聚合根实体是否可以有一个方法来调用存储库 我知道不应该 但想得到确认 因为埃里克的书也没有明确说明任何内容 还有一件事 我在哪里可以获得领域驱动设计的单元测试示例 这有点宗教问题 有些人认为这没有问题 而另一些人可能认为这样做是异端邪说 虽
  • 事件侦听器完成后调用函数 - Javascript

    有没有办法在 Javascript 中调用函数EventListener已完成运行任何附加代码 我正在使用一个外部库EventListener 它在调用侦听器时执行特定操作 我需要在外部库的代码完成运行后运行我的函数 我要求一种EventL
  • Unity冷却时间实现

    我正在尝试在 Unity 项目中实现冷却时间 虽然这段代码似乎有意义 但它不起作用 发布的代码是一个全面的基本运动脚本 我尝试用 a 做某事cooldown time deltatime 但这似乎不起作用 我已经尝试了多种方法 但似乎没有一
  • Symfony 5.1.3 清除缓存时出现问题:尝试从命名空间加载类“MappingDriverChain”

    我已将 symfony 应用程序更新为5 1 3 但从那时起 在清除缓存时出现了类丢失异常 In App KernelDevDebugContainer php line 1050 Attempted to load class Mappi
  • 阻止 PostgreSQL 将值拆分为多行?

    我正在使用以下命令将二进制数据 bytea 数据类型转换为字符串encode foo bytea base64 但输出被分成多行 RECORD 1 req id 132675 b string d4IF4jCCBd4GCSqGSIb3DQE
  • “请求的模块'不提供名为'default'的导出”错误,但仅在相对导入中

    我从外部有这个 api 模块 当它作为 node module 安装时 使用 npm install 然后执行如下导入即可 import MyAPI from api 但是 当我查看 node modules 中的 api 文件夹并取出 a
  • 如何使用 Python 解码内存中的 JPEG XR 文件

    我正在使用 Python 3 处理显微镜生成的文件 该文件本质上是数千张 Jpeg XR 压缩图像的集合 我需要将它们全部读入内存 现在我正在以二进制模式读取数据 将它们保存在 jxr 文件中 并调用 JxrDecApp exe 将其转换为
  • 在生成的实体框架类上实现 INotifyPropertyChanged

    我有一个 SQL 数据库 并且正在实现一个 WPF UI 来更新它 如果我使用 EF5 从数据库生成类 如何在生成的类和属性上实现 INotifyPropertyChanged 以便我可以轻松地使用 UI 绑定到它们 有没有一种简单的方法可