- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 Dapper.Contrib 更新此表:
public class MyTable
{
public int ID { get; set; }
public int SomeColumn1 { get; set; }
public int SomeColumn2 { get; set; }
public int CreateUserID { get; set; }
public int UpdateUserID { get; set; }
}
我不想更新 CreateUserID 列,因为它是一种更新方法,因此我想在调用 Dapper - Update.Async(entity) 方法时忽略此列。
我尝试使用 [NotMapped] 和 [UpdateIgnore] 属性但没有帮助。
注意:我仍然希望在插入操作时传递此列,因此,[Computed] 和 [Write(false)] 是不合适的。
谁能帮我弄清楚如何在更新数据库中的表时忽略此列?
最佳答案
嗯,它只是不受支持。这里有相关issue ,并且仅在 Dapper v2 中才有解决方案。您还可以检查 source code (这很简单)并看到更新的属性被搜索如下:
var allProperties = TypePropertiesCache(type);
keyProperties.AddRange(explicitKeyProperties);
var computedProperties = ComputedPropertiesCache(type);
var nonIdProps = allProperties.Except(keyProperties.Union(computedProperties)).ToList();
因此,所有未标记为 Key\ExplicitKey\Computed 且可写的属性都包含在内。 InsertAsync
也是如此(除了带有 ExplicitKey
的属性也包含在 insert 中,但是你不能在你的情况下使用这个属性,因为你的属性毕竟不是键)。
因此,您必须等待它被实现、 fork 并自己实现,或者只编写您自己的 UpdateAsync
方法。从源码可以看出非常简单,重新实现起来也不难。
关于c# - Dapper UpdateAsync 忽略列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47639596/
我有一张有 1 行的 table 。日志 => 1 |标志日志 => 0 public async void updateFlag() { var local = Path.
我在任何地方都找不到任何信息。 有ToListAsync(), AddAsync()等,但找不到有关UpdateAsync()或RemoveAsync().的任何文档 有人对这个有了解吗? 最佳答案
因此,当我在本地部署我的 Azure 移动服务时,更新操作正在运行。但在我将其发布到 Azure 后,我的应用程序在尝试更新数据时崩溃了。例如,这是我的两个类(class): public class
我正在尝试使用 Dapper.Contrib 更新此表: public class MyTable { public int ID { get; set; } public int S
我正在使用 Azure 移动服务,但遇到了“UpdateAsync”方法的问题。对于我存储在项目中的许多属性,UpdateAsync 方法工作得很好。对于其他人来说,更新完全被忽略。以前有人遇到过这样
我正在尝试在聊天上下文中调用 FBInstant.updateAsync()(id=THREAD)。它成功解决,但不要在聊天中发布任何消息。有谁知道为什么会这样? 问题已修复,工作代码: FBInst
我是小游戏新手。请告诉我如何使用 FBInstant.updateAsync({ action: 'CUSTOM', cta: 'Join The Fight', image:
我有两个项目 首先是带有 Xamarin.Forms 的移动应用 第二个是Windows 表单应用程序 并且两者都具有使用 Azure 移动应用创建的相同 API。 Windows 窗体当我尝试使用以
我已经为我在 ASP.NET MVC 5.1 应用程序中使用的 ASP.NET Identity 编写了自定义 UserStore。一切都按预期工作,我对 ASP.NET 的这个新功能(身份)感到非常
当我运行一个运行 updateAsync(id,patch) 的补丁方法时,我最终陷入了我认为的无限引用循环,然后随着服务器因内存不足异常而崩溃而停止. 所以我有模型 public class U
我正在做自定义的 asp.net 身份,而不是使用 asp.net 内置表。我已经通过实现自定义 CreateAsync 成功创建了用户 现在我想用新的加密密码更新用户,所以我不知道如何提供 Upda
我们的应用程序中有一个屏幕允许管理员角色的成员编辑用户帐户详细信息。 最终,任何用户对象都会被发送到服务器并使用以下方式进行更新: await userManager.UpdateAsync(user
我的实体如下所示: public class AddPatientReportDentalChartInput : IInputDto { [Required] [MaxLength(
我正在使用 Elasticsearch NEST API (7.8.1) 我在使用 client.UpdateAsync 时遇到问题将值更新为 null 的方法。 是否有解决此问题的解决方法? 示例模
我有以下代码,使用 .NET Core 2.0 控制台应用程序用 C# 编写。我已经将这些相同的变量用于添加函数,并且一切正常。 GetAsync 起作用并拉回列表项。调用 UpdateAsync 时
我正在使用 Microsoft Graph Api 客户端并执行向组添加成员的操作。 此处的文档:- https://learn.microsoft.com/en-us/graph/api/group
我正在使用 Microsoft Graph Api 客户端并执行向组添加成员的操作。 此处的文档:- https://learn.microsoft.com/en-us/graph/api/group
我在我的项目中使用以下库:https://github.com/praeclarum/sqlite-net 我查看了文档,但找不到使用 WHERE 子句执行 UpdateAsync 或 DeleteA
是否可以进行异步调用,就像在 Crm 4 中一样 crmService.UpdateAsync(card, Guid.NewGuid()); 在 CRM 2011 中??? 我必须借助 SSIS
我是一名优秀的程序员,十分优秀!