小编Pet*_*ete的帖子

获取本地实体或附加一个新实体

我的实体看起来像这样:

public class User
{
    public int Id {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我不想在每次获得特定用户时查询数据库,我知道此 Id 存在用户。似乎 Attach 适用于这种情况,但是如果 DbContext 已经在本地存储了此特定用户的实体,它将引发异常。

例如我想做的事情:

var user1 = ctx.GetLocalOrAttach(new User{Id = 1});
var user2 = ctx.GetLocalOrAttach(new User{Id = 2});
AddUserRelation(user1, user2);
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?如果不是,检查本地是否存在实体的理想方法是什么。

c# entity-framework-core

4
推荐指数
1
解决办法
402
查看次数

Poco Http Response未正确解码

不知怎的,我发送请求,但内容仍然看起来很奇怪,似乎它没有被解码,但响应包含以下内容:内容编码:gzip

我试图手动解码响应,但那没有用.谢谢您帮忙 :)

void Client::load_login_page()
{
using namespace Poco;
using namespace Poco::Net;

URI uri(constants::url::main_url);
//HTTPClientSession session(uri.getHost(), uri.getPort());
HTTPClientSession session("127.0.0.1", 8888);//Support Fiddler

std::string path(uri.getPathAndQuery());
if (path.empty()) 
    path = "/";

// send request
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
req.set("User-Agent",constants::url::user_agent);
req.add("Accept", "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/    x-xbitmap, */*;q=0.1");
req.add("Accept-Encoding","gzip,deflate");
req.setHost(uri.getHost(),uri.getPort());

session.sendRequest(req);

// get response
HTTPResponse res;
std::cout << res.getStatus() << " " << res.getReason() << std::endl;


std::cout << res.getContentType() << std::endl;
auto iter = res.begin();

while(iter != res.end())
{
    std::cout << …
Run Code Online (Sandbox Code Playgroud)

c++ poco-libraries

2
推荐指数
1
解决办法
1766
查看次数

标签 统计

c# ×1

c++ ×1

entity-framework-core ×1

poco-libraries ×1