小编d21*_*219的帖子

是否可以在 DbContext 中添加而不在 .NET Core 中跟踪

是否可以在 .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通过事件处理程序接收消息。因此,数据库本质上变成了一个单例,即使它是作为瞬态添加的。我每次都可以创建一个新的数据库上下文。但这似乎太过分了。或者,还有更好的方法?

c# entity-framework-core .net-core

6
推荐指数
1
解决办法
6432
查看次数

确定T-SQL中的时区偏移量

我的数据库应用程序将部署在不同时区的多个站点.

我需要一个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解决方案?

sql sql-server timezone sql-server-2005

5
推荐指数
1
解决办法
5万
查看次数

属性 getter 中的逻辑

对于属性获取者来说,多少逻辑太多了?例如,我有如下代码:

        public double value
        {
            get
            {
                if (condition1
                    || condition2
                    || condition3
                    || condition4)
                {
                    _value = anotherValue;
                }
                return _value;
            }
        }
Run Code Online (Sandbox Code Playgroud)

我读过各种帖子,说属性中的代码不应该很昂贵。但是“昂贵”这个词对我来说有点含糊。

c# properties

5
推荐指数
1
解决办法
2942
查看次数

返回任务<bool>并返回bool的区别是什么

希望这是一个很好而简单的答案.

我在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中完成?

提前感谢任何提示!

c# asp.net asp.net-mvc task-parallel-library

5
推荐指数
1
解决办法
3031
查看次数

在VSTS / Azure DevOps中状态更改时如何设置“分配给”

我有一个从敏捷过程继承的过程。基本过程具有以下状态:新建,活动,已解决,已完成。我添加了几个新状态,因此现在进行了“新”,“已分类”,“活动”,“未开发”,“已完成IT测试”,“已解决”,“已确认”,“已完成”,以更好地匹配流经不同人员的方式。

该流程具有一些内置的状态更改规则,因此从“新建”到“已解决”或从“活动”到“已解决”时,“分配给”更改将返回到“创建者”。同样,当它从“已解决”返回到“活动”时,会将分配的切换回“已解决者”用户。这很好用,我的问题是这些状态更改规则仅针对这些特定状态发生。

在VSTS在线中,我设置了一些自定义规则,以在不同状态之间移动时做不同的事情,但是我找不到解决方法,就是将“分配给”字段设置为“工作项”上的其他人字段。我可以将其设置为硬编码的人,但这不是我想要的。我想对新状态上的内置状态执行相同的状态更改规则。

这是我设置的一些规则的示例,但是我找不到将“分配给”字段设置为另一个字段(即“创建者”或“解决者”)的方法。 在此处输入图片说明

tfs-workitem azure-devops

5
推荐指数
1
解决办法
957
查看次数

通过 Visual Studio 2017 发布 Azure 函数项目后,所有函数应用都变为只读模式

我有一个通过 Portal 创建的功能应用程序,另一个由 Visual Studio 创建。后一个导致两个应用程序都变为只读,并显示以下消息:

您的应用程序当前处于只读模式,因为您已发布生成的 function.json。Functions 运行时不会支持对 function.json 所做的更改

这个功能正确吗?

对比:15.8.5

azure azure-functions visual-studio-2017

5
推荐指数
1
解决办法
5677
查看次数

我可以使用 ClassMap 来编写 CsvHelper 吗?

我正在尝试使用 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

csvhelper

5
推荐指数
1
解决办法
2945
查看次数

.net core docker centos HttpRequest错误:(套接字异常)资源暂时不可用

我花了很多时间并尝试了我在谷歌上可以找到的所有东西,但无法使其工作。

  1. 我有一个带有 .Net Core 应用程序 3.1 Blazer 的工作 docker 容器。
  2. 我已经将其托管在 Linux 服务器 centOS 8 上。它看起来像一个没有 Kubernetes 等的透明 docker 容器......
  3. 我可以打开我的网站并使用它

但我无法从我的应用程序发送请求,如下所示:

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) --- 内部异常堆栈跟踪结束 ---

c# linux centos docker asp.net-core

5
推荐指数
1
解决办法
1万
查看次数

Cassandra 和社交“取消好友”/“取消关注”

介绍

我开始更多地了解 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)

并在发布新帖子时同时写信给他们。

当我取消关注某人时,我可以做类似的事情

  1. SELECT * FROM feed_by_author WHERE user_id="user_id" AND author_id="unfriended_id"
  2. 提取time查询结果条目并运行大量DELETE查询feed_by_time
  3. 运行一个 big …

cql cassandra

5
推荐指数
1
解决办法
282
查看次数

为什么.NET Core不将nuget包中的引用Dll添加到bin文件夹中

.Net Core 项目不会将 nuget 包中的参考 DLL 放入 bin 文件夹中。有没有一种方法可以帮助做到这一点?某些第三方工具需要了解参考 DLL。

asp.net-core asp.net-core-1.1

4
推荐指数
1
解决办法
2743
查看次数