我有一个错误
using语句中使用的类型必须可以隐式转换为'System.IDisposable'
在线
using (var context = new EntityContainer())
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Globalization;
using System.Data;
using System.Data.Entity;
using school.usi.susibar.model;
namespace school.usi.susibar.test
{
class Program
{
public static void Main(string []args)
{
using (var context = new EntityContainer())
{
addOrderStatusType(context);
Console.ReadLine();
}
}
private static void addOrderStatusType(EntityContainer context)
{
try
{
OrderStatusType type = new OrderStatusType
{
Name = "Vyrizeno",
CancelPermission = false,
ChangePermission = false
};
context.OrderStatusTypes.Add(type);
context.SaveChanges();
Console.WriteLine("Pridano"); …Run Code Online (Sandbox Code Playgroud) 我的XML文件结构
<items>
<item>
<itemID>1</itemID>
<isGadget>True</isGadget>
<name>Star Wars Figures</name>
<text1>LukeSkywalker</text1>
</item>
</items>
Run Code Online (Sandbox Code Playgroud)
通过ITEMID从XML读取数据
XDocument xmlDoc = XDocument.Load(HttpContext.Current.Server.MapPath("data.xml"));
var items = from item in xmlDoc.Descendants("item")
where item.Element("itemID").Value == itemID
select new
{
itemID = item.Element("itemID").Value,
isGadget = bool.Parse(item.Element("isGadget").Value),
name = item.Element("name").Value,
text1 = item.Element("text1").Value,
}
foreach (var item in items)
{
....
}
Run Code Online (Sandbox Code Playgroud)
如何按itemID更新XML数据?谢谢!
我有一个SQL视图:
WITH DirectReports (ID,ParentFolderID, ParentFolderName,FolderID,FolderName,OwnerOCID,OwnerArName,OwnerEnName,FolderType,LEVEL)
AS
(
SELECT e.Id AS ID,cast(cast(0 AS binary) AS uniqueidentifier) AS ParentFolderID, cast('MainFolder - ' + MainFolders.enName AS nvarchar(250)) AS ParentFolderName,
e.Id AS FolderID, e.Name AS FolderName, WorkSpaces.Owner_Id AS OwnerOCID, OrgCharts.arName AS OwnerArName, OrgCharts.enName AS OwnerEnName,
MainFolders.Type AS FolderType, 0 AS LEVEL
FROM WorkSpaceFolders AS e INNER JOIN
MainFolders ON MainFolders.RootFolder_Id = e.Id INNER JOIN
WorkSpaces ON WorkSpaces.Id = MainFolders.WorkSpace_Id INNER JOIN
OrgCharts ON OrgCharts.Id = WorkSpaces.Owner_Id
WHERE e.Root = 1 AND e.Parent_Id IS NULL …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的查询
struct MyStruct
{
public string name;
public double amount;
}
var a =
from p in Products
select new MyStruct
{
name = p.Name,
amount = p.Amount
};
Run Code Online (Sandbox Code Playgroud)
当我执行查询时,我得到以下异常:
System.NotSupportedException {"LINQ to Entities中仅支持无参数构造函数和初始值设定项."}
但是,如果我将MyStruct的类型更改为类,那么它将按预期工作.
为什么它适用于类并且使用struct失败?
我有一个在私有代理中运行的.NET解决方案的构建.该解决方案包含.NET Core 2.1和.NET Standard 2.0项目.
安装的一些nuget包如下:
尝试使用以下错误恢复nuget包时,构建失败:
"F:\ Agent01\w\141\s\xxxxxxx.sln"(恢复目标)(1) - >(恢复目标) - > C:\ Program Files\dotnet\sdk\2.1.500\NuGet.targets(114 ,5):错误:无法加载源https://xxxxxxxxxx.pkgs.visualstudio.com/_packaging/xxxxxxxxxx/nuget/v3/index.json的服务索引.C:\ Program Files\dotnet\sdk\2.1.500\NuGet.targets(114,5):错误:响应状态代码不表示成功:401(未授权).
构建任务如下:
这是%appdata%\NuGet\nuget.config构建代理中的文件内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="MyFeed" value="https://xxxxxxxxxx.pkgs.visualstudio.com/_packaging/xxxxxxxxxx/nuget/v3/index.json" />
</packageSources>
<packageSourceCredentials>
<MyFeed>
<add key="Username" value="LocalBuildAgent" />
<add key="ClearTextPassword" value="xxxxxxxxxxx" />
</MyFeed>
</packageSourceCredentials>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我已经检查了一些类似的问题,但到目前为止,我无法找到解决问题的方法.
一些说明:
我错过了什么?如何解决这个问题?为什么我不能使用dotnet restore命令恢复包? …
假设我有两个字符串:a和b.为了比较a和被忽略大小写时是否具有相同的值,我总是使用:
// (Assume a and b have been verified not to be null)
if (a.ToLower() == b.ToLower())
Run Code Online (Sandbox Code Playgroud)
但是,使用Reflector,我在.NET Framework中已经看过几次:
// (arg three is ignoreCase)
if (string.Compare(a, b, true) == 0)
Run Code Online (Sandbox Code Playgroud)
我测试哪个更快,每次用我使用的字符串ToLower()节拍Compare().
是否有理由Compare()而不是ToLower()?有什么不同的CultureInfo?我在挠头.
我有一个控制器:
private readonly ILogger _logger;
private readonly IRepository _repository;
public HomeController(ILogger logger, IRepository repository)
{
_logger = logger;
_repository = repository;
}
Run Code Online (Sandbox Code Playgroud)
这是存储库:
public class EfRepository : IRepository
{
// ...methods for add, delete, update entities
// ....
public void Dispose()
{
if (this._context != null)
{
this._context.SaveChanges();
(this._context as IDisposable).Dispose();
this._context = null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
最后,IoC中的注册类型:
_builder.RegisterType<Logger>().As<ILogger>();
_builder.RegisterType<EfRepository>().As<IRepository>().WithParameter("context", new PcpContext());
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,我收到此错误:
由于已经处理了DbContext,因此无法完成操作.
我试着改变注册EfRepository,如下所示:
_builder.RegisterType<EfRepository>()
.As<IRepository>()
.WithParameter("context", new PcpContext()).InstancePerLifetimeScope();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,第一个请求完成,但在尝试打开其他页面时,我再次收到错误.问题出在哪儿?
我搜索/搜索了很多,但无法得到如何捕获HTTP响应头的答案UIWebview.假设我在App Launch上的UIWebview中重定向到用户注册网关(已经处于活动状态),当用户完成注册时,应该通过在HTTP响应标头中传回的注册时分配给用户的成功唯一ID来通知应用程序. .
有没有直接的方法来捕获/打印HTTP响应头UIWebview?
我有两个具有以下设置的类库项目:
现在,我在ClassLibrary2项目中引用了ClassLibrary1项目。已成功完成。但是在重建项目时出现错误:
严重性代码说明项目文件行抑制状态错误项目'.. \ ClassLibrary1 \ ClassLibrary1.csproj'目标为'netcoreapp2.1'。面向'.NETFramework,Version = v4.7.2'的项目无法引用它。ClassLibrary2
谁能帮助我知道此错误的原因?
假设我有这些关系的权利:这只是一个虚构的例子,而不是我现在的实体.
课程有很多用户,用户有很多课程
课程有很多NewsPosts,NewsPosts有很多课程
用户有很多NewsPosts,NewsPosts有很多用户
我首先使用.NET Web API实现实体框架代码,它以JSON的形式发回实体.当我尝试获取一个课程时,它会发回一个带有entites关系的JSON结果,这很好,但我希望设置一个限制它序列化的级别,所以它不会序列化所有关系超出第一个或二级.
GET课程/将序列化为:
{
"Users":[{
"id":1,
"newsPosts": [{
"id":1,
"message":"foo"
}]
}],
"newsPosts":[{
"id":2,
"message":"bar"
}]
}
Run Code Online (Sandbox Code Playgroud)
我想要的是仅序列化1个或2个级别,结果将是:
{
"Users":[{
"id":1,
"newsPosts": []
}],
"newsPosts":[{
"id":2,
"message":"bar"
}]
}
Run Code Online (Sandbox Code Playgroud)
我添加了一个:
json.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
Run Code Online (Sandbox Code Playgroud)
这是删除referencelooping.
简而言之:有没有办法设置最大数量的节点来序列化?
c# ×6
.net ×5
linq ×2
.net-core ×1
asp.net-mvc ×1
autofac ×1
azure-devops ×1
build-agent ×1
database ×1
http-headers ×1
ios ×1
iphone ×1
json ×1
nuget ×1
response ×1
string ×1
uiwebview ×1
xml ×1