小编Jum*_*zza的帖子

使用DataContext从LINQ查询填充DataTable的最快方法

我正在尝试运行linq查询,但我需要将结果作为数据表,因为我使用它来存储来自同一viewstate对象中的不同查询的记录.

下面的两个版本编译,但返回一个空集.确切的错误是"值不能为空.参数名称:源".(是的,我检查过有数据):

MyDatabaseDataContext db = new MyDatabaseDataContext(conn); 
IEnumerable<DataRow> queryProjects = 
    (from DataRow p in db.STREAM_PROJECTs.AsEnumerable()
    where p.Field<int>("STREAM_ID") == StreamID
    select new
    {
        PROJECT_ID = p.Field<int>("PROJECT_ID"),
        PROJECT_NAME = p.Field<string>("PROJECT_NAME")
    }) as IEnumerable<DataRow>;
DataTable results = queryProjects.CopyToDataTable<DataRow>();
Run Code Online (Sandbox Code Playgroud)

...

//(from p in db.STREAM_PROJECTs.AsEnumerable()
//where p.STREAM_ID == StreamID
//select new
//{
//    p.PROJECT_NAME,
//    p.PROJECT_ID
//}) as IEnumerable<DataRow>;
Run Code Online (Sandbox Code Playgroud)

线程中的示例似乎也不适用于此情况.

我想我可以用老式的方式运行一个sql查询命令,但不是linq应该更快吗?

c# linq asp.net datatable ienumerable

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

在 Azure DevOps 管道中运行 NUnit 测试

是否可以?(好像不是,不支持NUnit吗?应该用什么代替?)

这是我的测试项目。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <IsTestProject>true</IsTestProject>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
    <PackageReference Include="NUnit" Version="3.12.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\TheProjectToBeTested\TheProjectToBeTested.csproj" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

这是我的azure-pipelines.yml

pool: 'TFSBuild'

variables:
# The web app will not build because it is netcore3.1 and the server only supports netcore3.0.
  solution: '**/*Build.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@0

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default …
Run Code Online (Sandbox Code Playgroud)

nunit azure-devops azure-pipelines

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

如何在SketchFlow中绘制网格?

由于SketchFlow中没有网格资产,表示一个网格资产的最佳方式是什么?每个人都只使用矩形资产吗?

expression-blend expression-blend-3 sketchflow

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

从iframe中的silverlight应用获取父页面网址

我需要能够找出托管我的silverlight应用程序的页面.我可以使用iframe获取网址System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsolutePath,但我想获取托管iframe的网页的网址.

System.Windows.Browser.HtmlPage.Document.DocumentElement.Parent 一片空白.

谢谢!

javascript silverlight iframe

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

嵌套属性和 INotifyDataErrorInfo 的正确属性名称

我在 WPF 中使用 INotifyDataError 接口进行异步验证。我有房产

<TextBox Grid.Column="5" 
         Text="{Binding XXX.Name, ValidatesOnNotifyDataErrors=True}"/>
Run Code Online (Sandbox Code Playgroud)

在我的视图模型上,我有一个属性

public SomeType XXX
Run Code Online (Sandbox Code Playgroud)

并且在 SomeType 类型上我有属性

public string Name
Run Code Online (Sandbox Code Playgroud)

现在我的 ViewModel 实现了 INotifyPropertyChanged 和 INotifyDataError 并且验证是在我的 viewmodel 类中异步完成的。SomeType 仅实现 INotifyPropertyChanged。

我的问题是这个。当我ErrorsChangedDataErrorsChangedEventArgs(propertyName))propertyName 应该是什么引发事件时。注意我的绑定路径是XXX.Name. 应该 propertyName 是

  • XXX.姓名
  • 姓名

或者别的什么,或者我必须在我的SomeType类中实现 INotifyDataErrorInfo以及我希望不必这样做,因为我希望我的验证留在主视图模型中。

无论如何,我已经尝试了上述两种方法,尽管我可以验证是否引发了错误事件,但文本框周围没有出现红色框。

validation wpf binding inotifydataerrorinfo

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

MVC5 ApplicationUser自定义属性

我试图掌握ASP.NET MVC 5中引入的新成员系统,我遇到了一个小问题,我相信你能帮助我.

我将基于本教程并向ApplicationUser引入自定义属性,例如Name,Surname,DOB等.

但是,我试图更新当前登录的用户,而不是创建用户.我正在查看当前用于更改密码的控制器方法.

public async Task<ActionResult> Manage(ManageUserViewModel model)
        {
            string userId = User.Identity.GetUserId();
            bool hasLocalLogin = await IdentityManager.Logins.HasLocalLoginAsync(userId);
            ViewBag.HasLocalPassword = hasLocalLogin;
            ViewBag.ReturnUrl = Url.Action("Manage");

            if (hasLocalLogin)
            {               
                if (ModelState.IsValid)
                {
                    IdentityResult result = await IdentityManager.Passwords.ChangePasswordAsync(User.Identity.GetUserName(), model.OldPassword, model.NewPassword);
                    if (result.Success)
                    {
                        return RedirectToAction("Manage", new { Message = "Your password has been changed." });
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
            }
            else
            {
                // User does not have a local password so remove any validation errors caused by …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asp.net-mvc-5 asp.net-identity

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

如何使用INSTEAD OF触发器将新记录的标识插入到表中

我在表上使用INSTEAD OF插入触发器来设置行上的递增版本号,并将行复制到第二个历史/审计表.
行没有问题地插入到两个表中.
但是,我无法将第一个表中的新标识返回给用户.

架构

CREATE TABLE Table1
(
   id INT IDENTITY(1,1) PRIMARY KEY,
   name VARCHAR(250) NOT NULL UNIQUE,
   rowVersion INT NOT NULL
)

CREATE TABLE Table1History
(
   id INT NOT NULL,
   name VARCHAR(250) NOT NULL,
   rowVersion INT NOT NULL
)   

CREATE TRIGGER TRG_INS_Table1
ON Table1
INSTEAD OF INSERT
AS
    DECLARE @OutputTbl TABLE (id INT, name VARCHAR(250))
BEGIN
--make the insert
INSERT INTO Table1 (name, rowVersion)
    OUTPUT INSERTED.id, INSERTED.name INTO @OutputTbl(id, name)
    SELECT i.name, 1
    FROM INSERTED i
--copy into …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server triggers scope-identity

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

异步填充 C# 字典

我使用下面的代码循环遍历合同列表并获取每个合同的费率列表。然后它将结果存储在字典中。

/// <summary>
/// Get the Rates for the Job keyed to the id of the Organisation
/// </summary>
async Task<Dictionary<int, IReadOnlyList<Rate>>> GetRatesAsync(int jobId)
{
    var jobContracts = await _contractClient.GetJobContractsByJobAsync(jobId);
    var result = new Dictionary<int, IReadOnlyList<Rate>>();
    foreach (var jobContract in jobContracts)
    {
        result.Add(jobContract.Contract.Organisation.Id, await _contractClient.GetContractRatesByContractAsync(jobContract.Contract.Id));
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

Resharper 很有帮助地建议我“循环可以转换为 LINQ 表达式”。但是,Resharper 自动生成的修复程序(如下)无法编译。

return jobContracts.ToDictionary(jobContract => jobContract.Contract.Organisation.Id, jobContract => await _contractClient.GetContractRatesByContractAsync(jobContract.Contract.Id));
Run Code Online (Sandbox Code Playgroud)

进而

错误是The await operator can only be used within an async lamba expression。因此,插入一个异步并将其更改为以下内容:

return jobContracts.ToDictionary(jobContract => …
Run Code Online (Sandbox Code Playgroud)

c# linq resharper for-loop async-await

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

Xamarin Live Player无法实时更新

Visual Studio刚刚发布了一个更新,它应该在使用xamarin live player时实时更新手机上的代码.我可以让我的代码通过wifi出现在我的手机上,但它没有更新我的更改.我选择实时播放器并扫描QR码.该应用程序出现在我的手机上,但在我键入新代码时不会更新代码.如何让它实时更新?

有关该功能的相关文章.

https://blog.xamarin.com/whats-new-visual-studio-2017-version-15-5/

xamarin xamarin-live-player

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

如何创建使用动态内容的Bootstrap轮播

我正在使用引导程序轮播,它可以很好地使用html中的静态图像列表,但是我希望能够上传新图像并将它们显示在轮播中 - 而无需部署新版本的网站.

  • 这个答案谈到了动态加载图像.这听起来不错,但我并不期待图像列表经常变化,可能是1个/月,所以更快/更简单的东西会更好.
  • 这个答案是针对php的
  • 这个问题没有答案,但看起来他并不一定要使用服务器端代码

这是我用于静态图像列表的html:

<div id="myCarousel" class="carousel slide" data-ride="carousel">
    <!-- Indicators -->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1" class=""></li>
        <li data-target="#myCarousel" data-slide-to="2" class=""></li>
    </ol>
    <!-- Images-->
    <div class="carousel-inner" role="listbox">
        <div class="item active">
            <img src="/Images/Slideshow/Picture1.jpg" alt="First slide">
        </div>
        <div class="item">
            <img src="/Images/Slideshow/Picture2.jpg" alt="Second slide">
        </div>
        <div class="item">
            <img src="/Images/Slideshow/Picture3.jpg" alt="Third slide">
        </div>
    </div>
    <!-- Left Right Arrows -->
    <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
    </a> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net carousel twitter-bootstrap

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