是否可以在 .NET Core 中执行Add、等操作AddAsync,Update而无需随后跟踪实体,而无需编写代码来专门将上下文与跟踪实体分离?
// select, its possible to do no trackiing
var audit = _dbContext.Audit.First().AsNoTracking();
// doing an add or update, audit is now tracked unless it's detached
_dbContext.Audit.Add(audit);
int rows = _dbContext.SaveChanges();
_dbContext.Entry(audit).State = EntityState.Detached;
Run Code Online (Sandbox Code Playgroud)
我问这个是因为我有一个 Windows 服务,它消耗RabbitMq消息并写入数据库。RabbitMq通过事件处理程序接收消息。因此,数据库本质上变成了一个单例,即使它是作为瞬态添加的。我每次都可以创建一个新的数据库上下文。但这似乎太过分了。或者,还有更好的方法?
我的数据库应用程序将部署在不同时区的多个站点.
我需要一个T-SQL函数来确定当前年1月1日午夜的UTC时间戳,用于YTD计算.所有数据都以UTC时间戳存储.
例如,芝加哥是夏令时(DST)的UTC-6,如果在2008年芝加哥任何时候运行,该功能需要返回'2008-01-01 06:00:00'.如果明年在纽约(GMT-5 + DST)运行,则需要返回'2009-01-01 05:00:00'.
我可以从YEAR获得当前年份(GETDATE()).我以为我可以在GETDATE()和GETUTCDATE()之间做一个DATEDIFF来确定偏移量,但结果取决于查询是否在DST期间运行.我不知道有任何内置的T-SQL函数来确定偏移量或者当前时间是否为DST?
有没有人在T-SQL中解决这个问题?我可以硬编码或将其存储在一个表中,但不愿意.我想这是在SQL Server 2005中使用CLR集成的完美情况.我只是想知道是否有一个我不知道的T-SQL解决方案?
对于属性获取者来说,多少逻辑太多了?例如,我有如下代码:
public double value
{
get
{
if (condition1
|| condition2
|| condition3
|| condition4)
{
_value = anotherValue;
}
return _value;
}
}
Run Code Online (Sandbox Code Playgroud)
我读过各种帖子,说属性中的代码不应该很昂贵。但是“昂贵”这个词对我来说有点含糊。
希望这是一个很好而简单的答案.
我在ASP.NET Core 1中使用C#MVC Web API.我正在创建Web方法,并且我已经看到了返回数据的示例.
例1:
public async Task<IActionResult> ExampleCall([FromBody]ExampleObj model)
{
// Call some lower level function...
var result = LowerLevelCall(model);
return result;
}
Run Code Online (Sandbox Code Playgroud)
并看到这样的其他例子.
例2:
public async Task<IActionResult> ExampleCall([FromBody]ExampleObj model)
{
// Call some lower level function...
var result = await LowerLevelCall(model);
return result;
}
Run Code Online (Sandbox Code Playgroud)
主要区别在于使用await运算符的示例2 .实施await运营商的意义是什么?这个免费资源会不会等待代码在示例1中完成?
提前感谢任何提示!
我有一个从敏捷过程继承的过程。基本过程具有以下状态:新建,活动,已解决,已完成。我添加了几个新状态,因此现在进行了“新”,“已分类”,“活动”,“未开发”,“已完成IT测试”,“已解决”,“已确认”,“已完成”,以更好地匹配流经不同人员的方式。
该流程具有一些内置的状态更改规则,因此从“新建”到“已解决”或从“活动”到“已解决”时,“分配给”更改将返回到“创建者”。同样,当它从“已解决”返回到“活动”时,会将分配的切换回“已解决者”用户。这很好用,我的问题是这些状态更改规则仅针对这些特定状态发生。
在VSTS在线中,我设置了一些自定义规则,以在不同状态之间移动时做不同的事情,但是我找不到解决方法,就是将“分配给”字段设置为“工作项”上的其他人字段。我可以将其设置为硬编码的人,但这不是我想要的。我想对新状态上的内置状态执行相同的状态更改规则。
我有一个通过 Portal 创建的功能应用程序,另一个由 Visual Studio 创建。后一个导致两个应用程序都变为只读,并显示以下消息:
您的应用程序当前处于只读模式,因为您已发布生成的 function.json。Functions 运行时不会支持对 function.json 所做的更改
这个功能正确吗?
对比:15.8.5
我正在尝试使用 CsvHelper 来改进我从对象到 csv 记录/行的手动转换过程。我创建了一个复合体ClassMap,我想用它来将对象列表写入文件。如何将 加入ClassMap到 CsvHelper 实例的配置中以进行写入?
我现在收到以下异常和消息:
public class SpecimenMap : ClassMap<Specimen>
{
public SpecimenMap()
{
Map(s =>
DataFunctions.GetSiteByName(s.SiteName).RecordNo.ToString() + "-" +
s.SpecimenNumber.ToString()).
Index(0).Name("recordNumber");
Map(s =>
s.RecordNo.ToString()).
Index(1).Name("specimenNumber");
Run Code Online (Sandbox Code Playgroud)
/* 更多,但我在第一个“地图”上设置了一个断点,它抛出了异常。我还尝试注释掉第一个“Map”并运行第二个(因为第一个包含对外部函数的调用),它具有相同的结果。*/ ....
using (var writer = new StreamWriter(localFileLocation))
using (var csv = new CsvWriter(writer))
{
csv.Configuration.RegisterClassMap<SpecimenMap>(); // this line throws exception
csv.WriteRecords(specimen);
}
Run Code Online (Sandbox Code Playgroud)
抛出异常:
System.InvalidOperationException:在表达式“{expression}”中找不到成员。
在我的研究中,我发现了这段代码,但我不知道如何解释异常。进行某种反射后的堆栈大小(第 34 行)。 https://github.com/JoshClose/CsvHelper/blob/master/src/CsvHelper/Configuration/ClassMap%601.cs
我花了很多时间并尝试了我在谷歌上可以找到的所有东西,但无法使其工作。
但我无法从我的应用程序发送请求,如下所示:
var response = await (await httpClient.GetAsync($"requestString}")).Content.ReadAsStringAsync();
Run Code Online (Sandbox Code Playgroud)
在这部分代码我有错误:
渲染组件未处理的异常:资源暂时不可用 System.Net.Http.HttpRequestException:资源暂时不可用 ---> System.Net.Sockets.SocketException (11):资源暂时不可用在 System.Net.Http.ConnectHelper.ConnectAsync(String host) , Int32 端口, CancellationToken CancellationToken) --- 内部异常堆栈跟踪结束 ---
我开始更多地了解 Cassandra 并创建了一个简单的社交网络(类似于 Instagram/Facebook)。
一般的想法是,您可以关注/加好友并在提要中查看他们的更新。启动应用程序时,您应该能够滚动提要(按时间排序的更新)并对其进行分页。
在我的情况下,我坚持使用扇出方法 - 每当发布更新时,它都会被推送到朋友/关注者的提要中。
这是我的架构的样子。
CREATE TABLE feed_by_time (
user_id uuid,
time timestamp,
author_id uuid,
post_id uuid,
PRIMARY KEY (user_id, time, author_id)
) WITH CLUSTERING ORDER BY (time DESC);
Run Code Online (Sandbox Code Playgroud)
有了这张表,我应该能够轻松地按排序顺序获取任何用户的提要,并进一步对其进行分页,并且每个用户的提要都将驻留在自己的分区中,因此我不会从多个节点获取。我受到每个分区的潜在大小的限制,但让我们假设现在这不是问题。
现在,实际问题 - 应该如何实现取消关注/取消好友功能?它假设特定“作者”的所有帖子都应该从您的提要中消失。
我知道使用该feed_by_time表我将无法删除特定“作者”的所有帖子,因此我可以有另一个类似的帖子:
CREATE TABLE feed_by_author (
user_id uuid,
author_id uuid,
post_id uuid,
time timestamp,
PRIMARY KEY ((user_id, author_id), post_id)
);
Run Code Online (Sandbox Code Playgroud)
并在发布新帖子时同时写信给他们。
当我取消关注某人时,我可以做类似的事情
SELECT * FROM feed_by_author WHERE user_id="user_id" AND author_id="unfriended_id"time查询结果条目并运行大量DELETE查询feed_by_time.Net Core 项目不会将 nuget 包中的参考 DLL 放入 bin 文件夹中。有没有一种方法可以帮助做到这一点?某些第三方工具需要了解参考 DLL。
c# ×4
asp.net-core ×2
.net-core ×1
asp.net ×1
asp.net-mvc ×1
azure ×1
azure-devops ×1
cassandra ×1
centos ×1
cql ×1
csvhelper ×1
docker ×1
linux ×1
properties ×1
sql ×1
sql-server ×1
tfs-workitem ×1
timezone ×1