从ASP.NET MVC的源代码中考虑以下代码:
public static IApplicationBuilder UseMvc(
[NotNull] this IApplicationBuilder app,
[NotNull] Action<IRouteBuilder> configureRoutes) {...}
Run Code Online (Sandbox Code Playgroud)
根据这个答案,带注释的参数不能为空.那为什么我可以将null传递给方法呢?也就是说,在下面的情况下,为什么编译器没有给我任何错误?
app.UseMvc(null);
Run Code Online (Sandbox Code Playgroud) 考虑以下代码:
double i = 0xF0000000;
Console.WriteLine(0xF0000000.GetType());
Console.WriteLine(i.GetType());
Run Code Online (Sandbox Code Playgroud)
为什么C#打印System.UInt32第一个和System.Double第二个?
那是因为,默认情况下编译器会将文字推断为类型var?
我们正在使用ASP.NET MVC Core和Entity Framework Core构建应用程序,我们在应用程序中拥有一大堆类.在以前版本的Entity Framework中,我们将使用此方法为类图生成edmx文件:
void ExportMappings(DbContext context, string edmxFile)
{
var settings = new XmlWriterSettings { Indent = true };
using (XmlWriter writer = XmlWriter.Create(edmxFile, settings))
{
System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(context, writer);
}
}
Run Code Online (Sandbox Code Playgroud)
但似乎EF Core中没有这样的功能.我想知道在Entity Framework Core中是否有相同的版本.
在我的应用程序中,我使用的是ASP.NET身份,我有不同类型的用户(教师,学生,...),他们有自己的属性,对于我有老师Experience, Languages Spoken, Certifications, Awards, Affiliations, ...,对于学生,我有不同的属性.因此,由于每个用户的信息不同,我不能使用角色.所以他们实际上都是用户,我的意思是他们可以登录我的网站.此外,他们还有注册的常用信息:First Name, Last Name, Email, Password您现在的想法是什么?这样做的最佳选择是什么?我应该为每个继承的用户创建类IdentityUser<int, CustomUserLogin, CustomUserRole, CustomUserClaim>吗?任何的想法?
PS:我已经找到了一些解决方案,例如这里建议使用声明但是它对我来说不够清楚,实际上声明是难题的一部分而且我没有得到它们是什么?:),最好有例子.谢谢
如何在Linq to Entity中使用N'',例如在T-SQL中我们有这个代码:
select *from students where name=N'?????? ?????'
Run Code Online (Sandbox Code Playgroud)
我有这个代码:
var query = from p in dbContext.Students
where p.Name == "?????? ?????"
select p;
Run Code Online (Sandbox Code Playgroud)
我如何使用Linq to Entity执行此操作?
我发现了这个 :
var query = (from p in dbContext.Students
where p.Name == EntityFunctions.AsNonUnicode("?????? ?????")
select p);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
谢谢.
我想从我的机器中删除以前的xamarin并安装新版本(Xamarin VisualStudio 3.9.236),但是当我尝试安装此版本时,我收到此错误:
旧版Xamarin无法删除.联系您的技术支持小组.
任何的想法?PS:我看过这篇文章但仍有同样的问题.
我正在研究ASP.NET 5文档(它比旧版本更好,更好.)我知道ASP.NET 5包含一个简单的内置控制反转(IoC)容器,默认支持构造函数注入.据我所知,配置服务和依赖是在ConfigureServices()方法内部完成的.
该ConfigureServices()方法在StartUp方法之后调用.
所以我的问题是:ASP.NET 5如何在内部注入Startup的依赖项?
我想知道,因为如果我想注入另一个依赖项,例如IFooEnviroment我该怎么做?
正如您可能在D语言中所知,我们有一种称为Voldemort类型的能力,它们被用作实现特定范围函数的内部类型:
auto createVoldemortType(int value)
{
struct TheUnnameable
{
int getValue() { return value; }
}
return TheUnnameable();
}
Run Code Online (Sandbox Code Playgroud)
以下是Voldemort类型的使用方法:
auto voldemort = createVoldemortType(123);
writeln(voldemort.getValue()); // prints 123
Run Code Online (Sandbox Code Playgroud)
现在我想确保,这是否等同delegate于C#?
public static void Main()
{
var voldemort = createVoldemortType(123);
Console.WriteLine(voldemort());
}
public static Func<int> createVoldemortType(int value)
{
Func<int> theUnnameable = delegate()
{
return value;
};
return theUnnameable;
}
Run Code Online (Sandbox Code Playgroud) 我在SQL Server中有一个表,tbl_spe它包含一些计算机的规范,就像CPU, RAM,...
我想要选择具有这种条件的所有行:它们的RAM小于1GB的所有行我们可以简单地编写这个查询:
Select * from tbl_spe where RAM <= 1
Run Code Online (Sandbox Code Playgroud)
或类似的东西,但问题是关于表的数据:
ID RAM
159 2GB DDR2
160 256MB DDR
161 3GB DDR2
162 512MB DDR
Run Code Online (Sandbox Code Playgroud)
如何提取数字的RAM字段?并告诉查询选择他们的RAM小于1GB的所有行?
我将使用UserName来跟踪“创建”和“修改”字段。为此,我直接在DbContext中引用了System.Web程序集:
public void auditFields()
{
var auditDate = DateTime.Now;
foreach (var entry in this.ChangeTracker.Entries<BaseEntity>())
{
switch (entry.State)
{
case EntityState.Detached:
break;
case EntityState.Unchanged:
break;
case EntityState.Added:
entry.Entity.CreatedOn = auditDate;
entry.Entity.ModifiedOn = auditDate;
entry.Entity.CreatedBy = HttpContext.Current.User.Identity.Name ?? "anonymouse";
entry.Entity.ModifiedBy = HttpContext.Current.User.Identity.Name ?? "anonymouse";
break;
case EntityState.Deleted:
break;
case EntityState.Modified:
entry.Entity.ModifiedOn = auditDate;
entry.Entity.ModifiedBy = HttpContext.Current.User.Identity.Name ?? "anonymouse";
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
Run Code Online (Sandbox Code Playgroud)
它可以正常工作,但是将DbContext与HttpContext紧密结合在一起,如果我们将DbContext暴露在非Web环境中,这不是一个好主意。所以我用这种方式:
public class ApplicationDbContext :
IdentityDbContext<ApplicationUser, CustomRole, int, CustomUserLogin, CustomUserRole, CustomUserClaim>,
IUnitOfWork
{
public ApplicationDbContext()
: …Run Code Online (Sandbox Code Playgroud) c# ×6
t-sql ×2
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
closures ×1
d ×1
dbcontext ×1
sql ×1
xamarin ×1