小编Hen*_*man的帖子

EntityFramework代码优先的DateTime列不能按预期工作

我有基础模型User和两个额外的模型UserCreateModelUserEditModel.UserCreateModel工作得很好并且创建了用户,但是当我尝试编辑用户时它会给我错误.

我不明白他为什么在datetime上行动,因为它在数据库中已经有了有效的DateTime属性.我想做的就是更新Name属性.我在这做错了什么?

错误

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值.该语句已终止.

调节器

public HttpResponseMessage PutUser(int id, UserEditModel user)
{
    if (!ModelState.IsValid)
    {
        return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
    }

    if (id != user.Id)
    {
        return Request.CreateResponse(HttpStatusCode.BadRequest);
    }

    db.Entry(user).State = EntityState.Modified;

    try
    {
        db.SaveChanges(); // Exception here, all validation passed with success
    }
    catch (DbUpdateConcurrencyException ex)
    {
        return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
    }

    return Request.CreateResponse(HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

模型

public class User
{
    public int Id { get; set; }
    public virtual DateTime CreatedDateTime { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

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

C#解码"â"¢"到"TM"

在网页上有以下字符串

"Qualcomm Snapdragon™S4"

当我在我的.net代码中得到这个字符串时,字符串转换为"QualcommSnapdragonâ"¢S4"

字符"TM"变为¢

我怎么能解码"â"¢"回到"TM"

更新

follwoing
是使用webproxy下载字符串的代码wc是webproxy

wc.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8");
string html = Server.HtmlEncode(wc.DownloadString(url));
Run Code Online (Sandbox Code Playgroud)

c# encoding decoding

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

为什么双类型变量返回Nan?

我试图解决二次方程.我有double类型的所有变量,以及s变量Nan的结果.

double a, b, c, x1, d, x2, s ;
Console.WriteLine("Enter a value a: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Enter a value b: ");
b = double.Parse(Console.ReadLine());
Console.WriteLine("Enter a value c: ");
c = double.Parse(Console.ReadLine());

d = b * b - 4 * a * c;

Console.WriteLine("solution: ");

Console.WriteLine("1) Substitute the values entered in the equation " + "{0} * x^2 + {1} * x + {2} = 0 ", a, b, c);
Console.WriteLine("2) ?alculate the discriminant: d = b * …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

为什么我的异步程序抛出 NullReferenceException

我收到以下异常:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at GoogleProducts.Program.<Main>d__0.MoveNext() in C:\Code\test\GoogleProducts\Program.cs:line 60 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GoogleProducts.Program.<Main>(String[] args)

来源是:

private static async Task Main(string[] args)
        {
            var queries = new[]
            {
                "seico watch",
                "citizen watch",
                "orient watch",
                "bulova watch",
                "seagull watch",
                "glashuette watch"
            };

            var client = new WebClient();

            foreach (var query in queries)
            {
                var url = …
Run Code Online (Sandbox Code Playgroud)

c# task async-await

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

最外面的 CascadingValue 在页面刷新或直接链接时丢失

我想在我的 Blazor 应用程序中共享几个组件。这些恰好是 SyncFusion 组件 - 一个是 SfToast,一个是 SfDialog。我认为一个简单的方法是将组件放在 MainLayout.razor 上,然后使用<CascadingValue>每个组件将引用传递给所有子页面和组件。

只要通过<NavLink>元素或使用导航到页面就可以正常工作NavigationManager.NavigateTo()。但是,如果页面被深层链接或刷新,则最外层<CascadingValue>将变为空。为了解决这个问题,我创建了一个额外的虚拟对象<CascadingValue>作为最外层,以确保我真正关心的值填充在刷新或直接链接上,但这感觉就像一个黑客。我想知道我这样做的方式是否存在本质上的错误,导致最外层<CascadingValue>在刷新时变为空。

下面是一些示例代码来说明问题。这是非常做作的,但这是我能找到的创建一个最小的可重现示例来显示问题的唯一方法。

如果运行该项目并单击“转到示例页面”按钮,您将看到 CompOne 和 CompTwo 组件引用均已按预期设置为值。但是,如果您随后刷新页面,您将看到 CompOne 引用(最外面的<CascadingValue>)现在为空。

项目的布局如下(从默认的 Blazor Server 模板创建,因此我只显示了我进行修改的区域):

+ Blazor 示例
| + 组件(我添加了这个文件夹)
  | - ComponentOne.razor
  | - ComponentTwo.razor
| + 页数
  | - 索引.剃刀
  | - SamplePage.razor
| + 共享
  | - MainLayout.razor

MainLayout.razor

@inherits LayoutComponentBase

<div class="sidebar">
    <NavMenu />
</div>

<div class="main">
    <div class="top-row px-4"> …
Run Code Online (Sandbox Code Playgroud)

syncfusion blazor blazor-server-side

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

如何读取.bin文件?

我从RealFlow 4导出了一个.bin文件,现在需要能够在Python中读取它,以创建导入程序。这些文件如何工作?

python binary file

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

按钮单击事件

我的程序中有一个按钮,应该在while循环结束后点击,是什么代码点击按钮?

c# winforms

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

管理SQL表中位置的算法

我有一个小疑问,如何管理以下情况.在数据库表中,我将相关数据保存在不同的列中,最后我将精确的顺序保存在名为position的列中.此表绑定到网格.现在我正在实现将更改行的位置的功能,但我还需要更新数据库.我问的是什么是最佳实践或最方便的方法来实现这一目标?

建议是值得欢迎的.

姓名职位

abc 1

def 2

ghj 3

现在我点击按钮,我得到以下内容

姓名职位

def 1

abc 2

ghj 3

我希望我已经解释过了自己!

根据评论,这是一个真实的例子:

具有3列ID1,ID2,POSITION
ID1和ID2的TABLE1 是FK,并且该表具有基于ID1和ID2的PK
当我选择要显示的数据时,我使用以下查询SELECT NAME,ETC FROM TABLE2 INNER JOIN TABLE1 ON ID1 = ID1 ID2 = 511按位置排序

现在我需要改变位置上的两个元素,因此该行中TABLE1例如311,511,5需要成为311,511,4,那是433,511,4需要该行成为433,511,5.相反的.

我希望这有助于澄清我的问题.

干杯!

c# sql algorithm

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

DataGrid找不到方法DataSource

我正在尝试构建一个DataGrid-不是DataGridView,因为它似乎在Visual Studio 2010中不可用。

我想动态添加行(我想我可以做到),但是为了显示结果,我需要将数据分配给DataGrid,所有示例都说我应该使用DataSource,但Visual Studio坚持认为这不可用。为了编码,我发现其他地方是这样的。

private void BindToDataView(System.Windows.Controls.DataGrid myGrid)
{
    // Create a DataView using the DataTable.
    DataTable myTable = new DataTable("Suppliers");
    // Insert code to create and populate columns.
    DataView myDataView = new DataView(myTable);
    myGrid.DataSource = myDataView;
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c# wpf datagrid datasource

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

检查两个双打是否有相同符号的快速方法?

有没有快速检查两个双打是否有相同符号的方法?假设两个双打不能为0.

c# algorithm performance

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