我和Enum很困惑.这是我的枚举
enum Status
{
Success = 1,
Error = 0
}
public void CreateStatus(int enumId , string userName)
{
Customer t = new Customer();
t.Name = userName;
// t.Status = (Status)status.ToString(); - throws build error
t.Status = //here I am trying if I pass 1 Status ="Success", if I pass 0 Status = "Error"
}
Run Code Online (Sandbox Code Playgroud)
错误 - 无法将字符串转换为enum.Status
public class Customer
{
public string Name { get; set;}
public string Status {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
如何使用枚举状态设置客户对象的状态属性.
(没有If-Else或切换梯子)
我正在使用EF Core 2.1并且我正在尝试使用Tasks(TPL)一次性更新多个实体:
public async Task UpdateAttendance(IEnumerable<MyEvents> events)
{
try
{
var tasks = events.Select(async entity =>
{
await Task.Run(() => Context.Entry(entity).Property(x => x.Attendance).IsModified = true);
await Context.SaveChangesAsync();
});
await Task.WhenAll(tasks);
}
catch (Exception ex)
{
throw new Exception(ex.Message ?? ex.InnerException.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
但这会引发以下错误。
在前一个操作完成之前,在此上下文中启动了第二个操作。不保证任何实例成员都是线程安全的。
启动文件
services.AddScoped<IMyRepository, MyRepository>();
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
在尝试使用以下方法模拟 AWS Cognito 注册方法时 Moq C#
public async void Signup(UserTO user)
{
var req = new SignUpRequest()
{
};
_cognito.Setup(m =>
m.SignUpAsync(It.IsAny<SignUpRequest>())) // LOE
.ReturnsAsync(() =>
new SignUpResponse()
{
});
}
Run Code Online (Sandbox Code Playgroud)
但是在#LOE 处,出现以下错误
错误 CS0854 表达式树可能不包含使用可选参数的调用或调用
如果我按 f12 来获取 SignUpAsync() 的定义,它看起来像
Task<SignUpResponse> SignUpAsync(SignUpRequest request, CancellationToken cancellationToken = default(CancellationToken));
Run Code Online (Sandbox Code Playgroud)
是什么导致了这个错误以及如何摆脱这个错误?
谢谢!
我有一个 ASP.Net Core 2.1 应用程序。我收到与下面 SO 链接中提到的相同的错误。
答案部分中建议的解决方案似乎也解决了这个问题。
但是为一个属性创建一个类是开销并且对我没有吸引力。
过去,我没有使用 .Net Framework 4.5(+) 创建这样的开销类就做了同样的事情
// POST api/values
[HttpPost]
public void Post([FromBody]string email)
{
}
Run Code Online (Sandbox Code Playgroud)
通过邮递员,我发布
{
"email": "myemail@email.com"
}
Run Code Online (Sandbox Code Playgroud)
如何在不创建任何类等的情况下将电子邮件值传递给 API?
我宁愿棒[FromBody],因为在我的应用程序中所有的API被接受PARAMSFromBody的Post方法。
c# postman asp.net-core asp.net-core-webapi asp.net-core-2.1
随着新的JavaScript ES6的推出.我想知道如何指定版本.
假设,如果我想使用HTML5,我会在html页面的顶部声明
<!DOCTYPE HTML>
Run Code Online (Sandbox Code Playgroud)
同样,如果我认为使用jQuery然后我使用jQuery 2.1.4或任何我做的src指向下面的url
https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js
Run Code Online (Sandbox Code Playgroud)
这就是我们用html编写js的方法.
<script type="text/javascript">
//js
</script>
Run Code Online (Sandbox Code Playgroud)
要么
<script type="text/javascript" src="external.js"> </script>
Run Code Online (Sandbox Code Playgroud)
如何在脚本中使用ES6版本,以防浏览器不支持,请回退到ES5.
我有ASP.Net MVC网站。
技术栈
当我尝试使用Nuget命令生成数据库时:
Enable-Migrations -force
Run Code Online (Sandbox Code Playgroud)
我收到以下异常
'System.Data.Entity.Migrations.DbMigrationsConfiguration'1'的类型初始值设定项引发了异常。
我已对以下内容进行了交叉检查和尝试:-
我的App.Config:-
<connectionStrings>
<add name="mydbContext" providerName="MySql.Data.MySqlClient" connectionString="Server=localhost;port=8080;database=mydb;uid=root;password=" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
Run Code Online (Sandbox Code Playgroud)
我检查了一些链接,以了解错误的原因,但没有解决我的问题.
我试图从Postman访问WebAPi操作,但得到以下错误.
"message":"找不到与请求URI匹配的HTTP资源' http:// localhost:50684/api/albums/history '.",
"messageDetail":"找不到与名为'album'的控制器匹配的类型".
我的API.
[Authorize]
public class AlbumsController : ApiController
{
[HttpGet]
[Route("api/album/history/")]
public BaseTO GetHistory(string type,int id)
{
//api stuff
}
}
Run Code Online (Sandbox Code Playgroud)
我试过了 api/album/history/{anything}
在接到Postman的电话时,我正在路过: -
任何帮助/建议高度赞赏.谢谢
我正在使用AWS Cognito下面User Management是我的配置的样子
现在,通过此配置,这使得电子邮件成为强制性的并允许有效的电子邮件地址。
但我需要将电子邮件作为唯一的密钥。
如何以及在哪里可以在 AWS Cognito 中执行相同的操作?
谢谢!
我有ASP.Net Core 2.1,C#申请。我正在使用Clr 堆分配分析器
https://marketplace.visualstudio.com/items?itemName=MukulSabharwal.ClrHeapAllocationAnalyzer
其中一种方法如下所示
前#1
public void ConfigureServices(IServiceCollection services) {
services.AddSingleton<IPocoDynamo>(serviceProvider => {
var pocoDynamo = new PocoDynamo(serviceProvider.GetRequieredService<IAmazonDynamoDB>());
pocoDynamo.SomeMethod();
return pocoDynamo;
});
Run Code Online (Sandbox Code Playgroud)
}
例#2
public async Task<EventTO> AddEvent(EventTO eventObj)
{
try
{
throw new Exception("Error!");
}
catch (Exception ex)
{
Logger.Log(ex, eventObj);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
我在整个应用程序中使用 DI。但无论分析器在哪里找到new关键字,它都会发出警告:
HAA0502 显式新引用类型分配
此外,无论何时使用 Lambda 表达式,它都会发出警告(如 ex#1 中)
Warning HAA0301 Heap allocation of closure Captures:
Run Code Online (Sandbox Code Playgroud)
造成这种情况的原因是什么以及如何解决?
谢谢!
可能这个问题似乎重复了.但这是我面对命令的问题.
如果我运行此命令,
update-database -force
Run Code Online (Sandbox Code Playgroud)
我得到的第一个错误..
数据库中已经有一个名为tblAbc的对象
然后我用google搜索,每次我得到一个stackoverflow链接,建议运行 Add-Migration Initial -IgnoreChanges
如果我运行此命令然后运行更新命令,则无错误 - 正在运行种子方法
但它不会将数据库与新更新同步
然后我尝试了很多次但同样的问题,因此我找了一些替代解决方案而且我得到了.
使用update-database -Script但是如果我运行此命令并得到以下错误.
用户癌症保存对话框
然后我尝试通过打开SQL Managment Studio来解决这个问题
工具>>选项>>设计器>>取消选中防止需要表重新创建的保存更改
但在此之后也出现同样的错误信息.
然后我尝试在我的上下文类中添加以下配置
System.Data.Entity.Database.SetInitializer(new MigrateDatabaseToLatestVersion <context, Configuration>());
Run Code Online (Sandbox Code Playgroud)
它运行成功并运行种子方法,但它不同步最新的更新.
c# ×6
asp.net-core ×4
asp.net ×2
asp.net-mvc ×2
postman ×2
clr ×1
ecmascript-6 ×1
ef-core-2.1 ×1
enums ×1
heap-memory ×1
javascript ×1
moq ×1
mysql ×1
nunit ×1
sql-server ×1