C#.NET核心:在SQL Server中自动保存用户ID

C#.NET核心:在SQL Server中自动保存用户ID,c#,sql-server,entity-framework,linq,.net-core,C#,Sql Server,Entity Framework,Linq,.net Core,我们有一个列UserId,它存储上次修改表的人 有时,人们通过C#.NET核心应用程序修改客户地址表 web应用程序中有UserIds,显然不是作为SQL Server登录名存储的 例如:JoeSmith(UserId=8)是C#应用程序中的登录名,但不是SQL Server中的登录名 如果此人同时运行一个修改5个表的事务,是否有一种简单的方法可以自动更改所有5个表中的所有UserIds?不费力地在所有Linq EF查询中添加UserId,并修改所有自动映射器 寻找一种简单的方法来实现这一点 是

我们有一个列
UserId
,它存储上次修改表的人

有时,人们通过C#.NET核心应用程序修改客户地址表

web应用程序中有
UserId
s,显然不是作为SQL Server登录名存储的

例如:
JoeSmith
UserId
=8)是C#应用程序中的登录名,但不是SQL Server中的登录名

如果此人同时运行一个修改5个表的事务,是否有一种简单的方法可以自动更改所有5个表中的所有
UserId
s?不费力地在所有Linq EF查询中添加
UserId
,并修改所有自动映射器

寻找一种简单的方法来实现这一点

是否可以通过实体框架设置假的
UserId
,并将
UserId
值默认为运行应用程序的人

尝试研究:
在EF Core中提供了解决此问题的简单方法。卷影属性在数据库中作为列存在,但不是.NET实体类型上的类属性或字段

EF Core中的为这个问题提供了一个简单的解决方案。卷影属性在数据库中作为列存在,但不是.NET实体类型上的类属性或字段

这听起来像是一个错误。你的最终目标是什么?为什么要这样做?hi@Igor的主要目标是以一种非常高效、快速的方式在表中为所有查询和将来的查询添加UserId,而无需在所有Linq查询中手动添加UserId,也无需更改映射器等。这听起来像是一个错误。你的最终目标是什么?为什么要这么做?hi@Igor的主要目标是在表中添加UserId,用于所有和将来的查询,以一种非常高效、快速的方式,而无需在所有Linq查询中手动添加UserId,也无需为不同用户的每个Api请求更改映射器etcso,我可以将UserId存储在一个变量中,然后parlay到SQL表中,有阴影属性吗?略加修改的问题:是的。您只需在DbContext.SaveChanges()的重写中更新Shadow属性。因此,对于具有不同用户的每个Api请求,我可以将userId存储在一个变量中,然后使用Shadow属性parlay到SQL表?略加修改的问题:是的。您只需在DbContext.SaveChanges()的重写中更新阴影属性。