我正在尝试使用EF6更新记录.首先找到记录,如果存在,则更新它.这是我的代码: -
var book = new Model.Book
{
BookNumber = _book.BookNumber,
BookName = _book.BookName,
BookTitle = _book.BookTitle,
};
using (var db = new MyContextDB())
{
var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber);
if (result != null)
{
try
{
db.Books.Attach(book);
db.Entry(book).State = EntityState.Modified;
db.SaveChanges();
}
catch (Exception ex)
{
throw;
}
}
}
Run Code Online (Sandbox Code Playgroud)
每次我尝试使用上面的代码更新记录时,我收到此错误: -
{System.Data.Entity.Infrastructure.DbUpdateConcurrencyException:存储更新,插入或删除语句影响了意外的行数(0).自实体加载后,实体可能已被修改或删除.刷新ObjectStateManager entrie
我正在使用Windows应用程序中的WSDL来使用Web服务.当我尝试使用方法时,我收到以下错误: -
HTTP请求未经授权,客户端身份验证方案为"匿名".从服务器收到的身份验证标头是""
{"远程服务器返回错误:(401)未经授权."}
我有用户凭据但不知道如何使用Windows应用程序中的c#代码传递它.
当地分公司: -
'特征/ 100'
和远程分支机构: -
'主'
"版本2"
意外,
但实际上' feature/100 '应该已合并到远程分支' Version2 '
我如何修复它(部分): -
我已将功能分支' feature/100 ' 合并到远程分支' Version2 '并将其推送到服务器.
git checkout Version2
git merge --squash feature/100
git add .
git commit -m 'New message'
Run Code Online (Sandbox Code Playgroud)
但我想删除我已合并并提交到主分支的最后一次推送.怎么样?
Side Note我只是一个正在研究这个项目的人.所以即使推送提交被删除也不会伤害任何其他人
我在文本框中输入了一个字符串.如果没有用户输入,我需要在字符串中插入字符'#'.
expected format : aaa#aa#a
Run Code Online (Sandbox Code Playgroud)
以下是验证和更正预期格式的代码: -
如果用户输入:aaaaaa,
if (enteredtext.Length >= 7 && enteredtext.EndsWith(","))
{
if (enteredtext.IndexOf('#', 3, 3) == -1)
enteredtext = enteredtext.Insert(3, "#");
if (enteredtext.IndexOf('#', 6, 6) == -1)
enteredtext= enteredtext.Insert(6, "#");
}
Run Code Online (Sandbox Code Playgroud)
还有其他最好的方法吗?
可能重复:
如何在C#中将字符串转换为枚举?
枚举返回int值
我已声明一个枚举: -
public enum Car
{
SELECT = 0,
AUDI = 1,
NISSAN = 2,
HONDA = 3,
LINCOLN = 4
}
Run Code Online (Sandbox Code Playgroud)
现在我需要enum的int值匹配: -
private int GetCarType(string CarName)
{
foreach(var item in Enum.GetNames(typeof(Car))
{
if (item.ToLower().Equals(CarName.ToLower()))
//return int value of Enum of matched item; ???????
}
Run Code Online (Sandbox Code Playgroud)
预期结果: -
int i = GetCarType(CarName); //suppose CarName is AUDI, it should return 1;
Console.write(i);
Result :- 1
Run Code Online (Sandbox Code Playgroud)
我如何获得枚举的价值?更好的编码实践.
我需要的是删除在这种情况下逗号(,)的最后一个字符.
我尝试过Substring, Left, and Right函数但是它们需要字符串的长度.
这是场景: -
select
(Case col1 & 1 When 1 Then 'Case 1,' Else '' End) +
(Case Col2 & 2 When 2 Then 'Case 2,' Else '' End) +
(Case Col3 & 4 When 4 Then 'Case 4,' Else '' End)
as Case
from table_01
Run Code Online (Sandbox Code Playgroud) 当值为4.005时,应舍入为4.01.但是当我使用这段代码时,结果只有4.
var result = Math.Round(number*100)/100;
Console.WriteLine($"{result:0.00}");
OR
var result = Math.Round(number,2);
Console.WriteLine($"{result:0.00}");
Run Code Online (Sandbox Code Playgroud)
预期结果是2个十进制值.4.01.