我有这个实体:
public int Id { get; private set; }
public string Name { get; private set; }
public Behavior Behavior { get; private set; }
public Product(int id, string name, Behavior behavior)
{
Id = id;
Name = name;
Behavior = behavior;
}
Run Code Online (Sandbox Code Playgroud)
在启动方法中,我正在注册 EdmModel :
var builder = new ODataConventionModelBuilder();
var entitySet = builder.EntitySet<Product>("Products");
entitySet.EntityType.HasKey(x => x.Id);
var model = builder.GetEdmModel();
app.UseMvc(route =>
{
route.Select().Filter().Expand().OrderBy().Count().MaxTop(null);
route.MapODataServiceRoute("odata", null, model);
route.EnableDependencyInjection();
}
);
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,会发生此异常:
InvalidOperationException: The entity 'Product' does not have …Run Code Online (Sandbox Code Playgroud) 我在Setup.cs 文件中有这段代码
protected override MvxLogProviderType GetDefaultLogProviderType() =>
MvxLogProviderType.Serilog;
protected override IMvxLogProvider CreateLogProvider()
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Logger(config => config
.MinimumLevel.Verbose()
.WriteTo.File("C:\\log.txt"))
.CreateLogger();
return base.CreateLogProvider();
}
Run Code Online (Sandbox Code Playgroud)
在 ViewModel 中,我有:通过 IoC 初始化的私有只读 IMvxLog _log。
当我调用 _log.Error("Some error") 时,log.txt 文件中没有写入任何内容。
当我尝试将新集合添加到数据库时,我收到此错误:
Failed to create collection 'Products'.
Error:
Sorry, we are currently experiencing high demand in this region, and cannot
fulfill your request at this time. We work continuously to bring more and
more capacity online, and encourage you to try again. Please do not hesitate
to email docdbswat@microsoft.com at any time or for any reason.
ActivityId: bad1a40a-0000-0000-0000-000000000000,
Microsoft.Azure.Documents.Common/1.22.0.0
Run Code Online (Sandbox Code Playgroud)
这是一个本地模拟器,这个地区有什么样的高级别?
我正在尝试实现我自己的日志提供程序。
Setup.cs 包含:
protected override MvxLogProviderType GetDefaultLogProviderType() => MvxLogProviderType.None;
protected override IMvxLogProvider CreateLogProvider()
{
var logger = new Logger();
return base.CreateLogProvider();
}
Run Code Online (Sandbox Code Playgroud)
记录器
public class Logger : IMvxLog
{
public bool Log(MvxLogLevel logLevel, Func<string> messageFunc, Exception exception = null, params object[] formatParameters)
{
var client = new HttpClient();
var url = new Uri("https://jsonplaceholder.typicode.com/posts/1");
client.PostAsync(url,null);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
当 IoC 尝试解决依赖关系时,它会与 ViewModel 构造函数一起崩溃。
错误信息:
创建 eOrder.ViewModel.ActivitiesViewModel 时无法解析类型为 IMvxLog 的参数日志的参数
也许我不需要覆盖MvxLogProviderType.None?