小编Sco*_*oit的帖子

MVC 5更新数据库中一行的多个字段

我正在练习MVC 5,在我的应用程序中,我有一个控制器方法,应该更新给定用户配置文件的地址信息.

我通过使用上下文对象访问数据库来做到这一点,我首先想到的是将数据库行复制到对象,进行更改,然后使用该AddOrUpdate()方法将其放回.但是,我只看到一种Add()方法.

所以我做了以下事情:

public ActionResult EditBillingDetails(EditBillingDetailsViewModel model)
{
    if (ModelState.IsValid)
    {
        string id = User.Identity.GetUserId();
        ApplicationDbContext db = new ApplicationDbContext();

        db.Users.Single(u => u.Id == id).FirstName = model.FirstName;
        db.Users.Single(u => u.Id == id).LastName = model.LastName;
        db.Users.Single(u => u.Id == id).Email = model.Email;
        db.Users.Single(u => u.Id == id).Address = model.Address;
        db.Users.Single(u => u.Id == id).City = model.City;
        db.Users.Single(u => u.Id == id).ZIP = model.ZIP;
        db.Users.Single(u => u.Id == id).Country = model.Country;

        db.SaveChanges();

        return RedirectToAction("Manage", new { Message …
Run Code Online (Sandbox Code Playgroud)

database asp.net-mvc-5

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

PowerShell:写入输出仅写入一个对象

我正在学习PowerShell,并且阅读的大量文章强烈反对使用写入主机来告诉我这是“错误的做法”,并且几乎总是可以用另一种方式显示输出。

因此,我接受了建议并尝试避免使用写入主机。我发现的一个建议是改用写输出。据我了解,这会将所有内容放入管道中,并且输出在脚本(?)的末尾执行。

但是,我在输出所需内容时遇到问题。此示例演示了该问题:

$properties = @{'OSBuild'="910ef01.2.8779";
                'OSVersion'="CustomOS 3";
                'BIOSSerial'="A5FT-XT2H-5A4B-X9NM"}
$object = New-Object –TypeName PSObject –Prop $properties
Write-output $object

$properties = @{'Site'="SQL site";
                'Server'="SQL Server";
                'Database'="SQL Database"}
$object = New-Object –TypeName PSObject –Prop $properties
Write-Output $object
Run Code Online (Sandbox Code Playgroud)

这样,我可以很好地输出显示OS数据的第一个对象,但是永远不会显示包含SQL数据的第二个对象。我试过重命名变量名和其他很多东西,但是没有运气。

在对这个问题进行故障排除时,我发现了类似的问题,并提出了一些建议,就是只用写主机代替写输出。这让我很困惑。为什么有些人强烈劝阻写主机,而其他人却鼓励写主机?

以及如何准确地以时尚的方式输出这两个对象?我不完全了解写输出的流水线机制。

powershell

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

标签 统计

asp.net-mvc-5 ×1

database ×1

powershell ×1