小编Dan*_*Dan的帖子

使用实体框架向数据库提交更改

我遇到按日期从表中提取数据的情况。如果没有提供给定日期的数据,我将使用默认值创建一条记录并将其全部显示给用户。当用户处理完数据后,我需要提交更改。

所以我的问题是我如何在实体框架中提交表以处理可能同时存在更新和添加的表。这是使用MVC3和Entity Framework的C#语言。

因此,这就是开始数据的样子,

表A

NAME  AGE PHONE_NUM 
Jim   25  555-555-5555 
Jill  48  555-551-5555
Run Code Online (Sandbox Code Playgroud)

在用户处理完数据后,看起来可能像这样,

表A

NAME  AGE PHONE_NUM
Jim   25  555-555-5555
Jill  28  555-551-5555
Rob   42  555-534-6677
Run Code Online (Sandbox Code Playgroud)

如何提交这些更改?我的问题是既需要更新又需要插入吗?

我已经找到了一些类似的代码,但我不知道这种情况是否行得通。

用于添加数据行

entities.TABlEA.AddObject(TableOBJECT);
entities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

或用于更新数据

entities.TABLEA.Attach(entities.TABLEA.Single(t => t.NAME == TableOBJECT.NAME));
entities.TABLEA.ApplyCurrentValues(TableOBJECT);
entities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

这项工作中的任何一项还是我需要跟踪那里的内容和添加的内容?

有想法吗?

c# entity-framework asp.net-mvc-3

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

在查询中SQLite Int到Hex和Hex到Int

我有一些以INTEGER表格形式提供给我的数字数据.我将它与其他数据一起插入到SQLite中但是当我把它写出来时,INTEGERNumbers需要是Hex带有前导零的8位数字.

防爆.

输入

400 
800 
25 
76
Run Code Online (Sandbox Code Playgroud)

产量

00000190 
00000320 
00000019 
0000004C
Run Code Online (Sandbox Code Playgroud)

最初我在阅读它们时将它们转换为存储它们并TEXT像这样存储它们.

stringstream temp;
temp << right << setw(8) << setfill('0') << hex << uppercase << VALUE;
Run Code Online (Sandbox Code Playgroud)

但生活从来都不容易,现在我不得不以INTEGER形式创造第二个输出HEX.有没有一种方法来转换INTEGER号码HEXHEX号码INTEGERS的SQLite的?

我想避免在SQLite之后使用C++来更改数据,因为我编写了一些修改导出函数来获取查询结果并将它们打印到文件中.如果我在查询返回期间需要触摸数据,则无法使用它们.

我查看了HEX()SQLite 中的函数,但没有得到预期的结果.我能做一个功能还是效率很低?我在一个非常大的数据集上做这个,所以应该避免任何昂贵的.

注意:我在Visual Studios 2010中使用SQLites C/C++接口.

c++ sqlite visual-c++

4
推荐指数
2
解决办法
5745
查看次数

如何将初始化列表构造函数添加到STL向量

所以我想要做的是扩展程序中现有的vector类,让我这样说,

vector<string>* vec = new vector<string>(){"Value1","Value2"};
Run Code Online (Sandbox Code Playgroud)

要么

vector<string>* vec = new vector<string>({"Value1","Value2"});
Run Code Online (Sandbox Code Playgroud)

要么

vector<string> vec = {"Value1","Value2"};
Run Code Online (Sandbox Code Playgroud)

我知道我可以做到这样的事情,但这样做,

string temp[] = {"Value1","Value2"};
vector<string> vec(temp, temp+ sizeof(temp) /  sizeof( temp[0] ) ); 
Run Code Online (Sandbox Code Playgroud)

这使用向量迭代器构造函数但不能删除额外的行吗?

我知道在C#中你可以使用这样的partial关键词添加你想要的任何东西,

public partial class ClassName
{
   ClassName(Stuff stuff)
   {

   }
   void AmazingNewMethod()
   {

   }    
}
Run Code Online (Sandbox Code Playgroud)

C++在某个地方有一个漂亮的技巧吗?

我是否必须继承vector并构建一个customVector具有构造函数的构造函数,它在后面执行迭代器构造函数的事情?

也许将这些行包装在一个静态Helper函数调用中,该调用通过Reference设置它并将其添加到某个工具箱类中?

我觉得很多程序员都遇到过这个问题.那里有优雅的解决方案吗?

谢谢.

编辑:修复标题,提到这是一个初始化列表构造函数.

c++ iterator vector partial-classes

3
推荐指数
2
解决办法
4649
查看次数

标头VS2010中定义的c ++预编译头.编译器找不到

我继承了一些做过这样的代码,

标题:HeaderFile.h

#ifndef HEADERFILE_H
#define HEADERFILE_H

#ifndef HEADERFILE_PCH_H
#include<LibStuff>
#include<LibStuff2>
#include<LibStuff3>
#include<LibStuff4>
#include<LibStuff5>
#endif

#include "FilesInProject"

Class A
{
  //Code

};

#endif
Run Code Online (Sandbox Code Playgroud)

Cpp:HeaderFile.cpp

#include "HeaderFile_pch.h" //(1)

#include "HeaderFile.h"

//More code
Run Code Online (Sandbox Code Playgroud)

我理解预编译头的用途以及代码在这里做了什么(有点).当我将这些文件复制到我的项目中时,这样我就可以更新已弃用的代码,但不会影响原始项目,VS2010扼杀在线(1).VS2010说它无法找到该文件.

我已经进入了两个项目之间,我发现设置上没有任何差异.

我错过了什么,为什么可以PCH在这样的标题中嵌入'而不是实际将它们移动到一个名为的文件中HeaderFile_pch.h.这是某种宏观黑客行为吗?

c++ visual-studio-2010 precompiled-headers

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

究竟什么代表html中的data-reveal-id属性?和经典的id属性有什么区别?

我不是HTML或HTML5,我有以下问题.

在我正在处理的页面上,我有一张地图,其中使用了可在背景图像上实现的可点击区域 html标签,像这样:

<map name="Map" id="Map">

    <area data-reveal-id="UM" shape="poly" data-nome-regione="Umbria"
                            coords="135,167,138,151,143,141,154,148,155,159,165,167,146,178" 
                            alt="Umbria" 
                            onmouseover="RollMapOn('umbria')" onmouseout="RollMapOff()" onclick="caricaDettaglioRegione(this)" />

    ....................................................................

    ....................................................................
</map>
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么使用data-reveal-id属性唯一标识区域而不是标准id属性?有什么不同?data-reveal-id属性究竟是什么?

html javascript html5

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

C#属性或属性

我知道你可以像这样在C#中为方法添加一个属性,

EX1.

[HttpPost]
public void Method()
{
//code
}
Run Code Online (Sandbox Code Playgroud)

这意味着必须满足该属性才能运行Method().

我知道你可以堆叠这样的属性,

EX2.

[HttpPost]
[RequireHttps]
public void Method2()
{
 //More code
}
Run Code Online (Sandbox Code Playgroud)

在您可以使用之前检查是否满足attribute1'AND'attribute2 Method2().

但你能'或'属性吗?这样的事可能吗?

EX3.

[HttpPost || RequireHttps]
public void Method3()
{
  //Even more code
}
Run Code Online (Sandbox Code Playgroud)

因此,如果满足任一属性,您可以使用Method3().

编辑:对不起,印象属于名为Annotations的属性.修正了.

c# attributes annotations custom-attributes asp.net-mvc-3

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