Api:无法检索元数据,mvc:未将对象引用设置到对象的实例

简介: Api:无法检索元数据,mvc:未将对象引用设置到对象的实例

** 原因: ** 在CodeFirst的时候,对于一对一的关系,如果在两个Entity中都互相添加了对方作为导航属性就会出现这样的错误。新建ApiController的时候提示“无法检索元数据”,新建MVCController的时候回提示“未将对象引用设置到对象的实例”

解决方案:删掉其中的一个导航属性


image.png

错误:生成的Api提示说有循环引用的情况时,在Api项目的Global.asax文件内添加代码:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
            GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);


api

无法序列化:原因可能是因为Entity中的某个Entity的属性与数据库中对应的表的属性不对应,多了或少了,并且数据库迁移的时候Ef并没有发现这个不同

跨域访问Api:http://www.cnblogs.com/zd1994/p/6238468.html

//创建学校

var create = function (school) {

return $http.post(schoolApiUrl + "SchoolPost",school);

};

message:不支持OPTIONS方法:

解决方案:

API  Web.config

<handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <!--<remove name="OPTIONSVerbHandler" />-->
      <remove name="TRACEVerbHandler" />
      <!--<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />-->
    </handlers>


再把api的验证取消

//新增学校

// POST: api/Schools
        [HttpPost]
        [ResponseType(typeof(School))]
        public IHttpActionResult SchoolPost(School school)
        {
            //school = JsonConvert.DeserializeObject<School>(thx);
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}
            db.Schools.Add(school);
            db.SaveChanges();
            return CreatedAtRoute("DefaultApi", new { id = school.ID }, school);
        }


运行所选代码生成器时出错 调用的目标发生了异常



在api的webconfig中配置了两个connectionStrings,删除其中一个


"ExceptionMessage":"LINQ to Entities 不识别方法get_Item(Int32)”,因此该方法


原因:linq表达式中无法识别某个方法,看你写的是哪个方法


比如:

//获取角色菜单
          List<Role_Menu> role_Menu = db.Role_Menu.Where(u => u.RoleID ==    user_Role.RoleID).ToList();
          //这样就会报上面的错误,原因是where里面不能调用这种user_Role.RoleID。
            //所以可以这样写,先把值构造好,再直接传值进去
             Guid str1 = user_Role.RoleID;
            //获取角色菜单
            List<Role_Menu> role_Menu = db.Role_Menu.Where(u => u.RoleID == str1).ToList();


在应用程序配置文件中找不到名为“DBConn”的连接字符串



原因:如果解决方案下有多个项目,则在做数据库迁移的时候每个项目的config配置文件下都需要有链接数据库的字符串


image.png

目录
打赏
0
0
0
0
0
分享
相关文章
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 智能工具调用决策的智能体
本文介绍了一种基于阿里云百炼平台的`qwen-max` API构建的智能体方案,该方案集成了检索增强、图谱增强及智能工具调用决策三大模块,旨在通过结合外部数据源、知识图谱和自动化决策提高智能回答的准确性和丰富度。通过具体代码示例展示了如何实现这些功能,最终形成一个能灵活应对多种查询需求的智能系统。
310 11
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 基于指令的智能工具调用决策 智能体
基于百炼平台的 `qwen-max` API,设计了一套融合检索增强、图谱增强及指令驱动的智能工具调用决策系统。该系统通过解析用户指令,智能选择调用检索、图谱推理或模型生成等工具,以提高问题回答的准确性和丰富性。系统设计包括指令解析、工具调用决策、检索增强、图谱增强等模块,旨在通过多种技术手段综合提升智能体的能力。
327 5
如何在Java爬虫中设置动态延迟以避免API限制
如何在Java爬虫中设置动态延迟以避免API限制
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
43 2
什么是ES6的Proxy对象和Reactive API
【9月更文挑战第3天】什么是ES6的Proxy对象和Reactive API
47 9
深入了解亚马逊商品详情API:功能、作用与实例
亚马逊商品详情API接口由官方提供,允许开发者通过程序调用获取商品详细信息,如标题、价格等,适用于电商数据分析、搜索及个性化推荐等场景。接口名称包括ItemLookup、GetMatchingProductForId等,支持HTTP POST/GET请求,需提供商品ID、API密钥及其他可选参数。返回数据格式通常为JSON或XML,涵盖商品详情、分类、品牌、价格、图片URL及用户评价等。该接口对数据收集、实时推荐、营销活动及数据分析至关重要,有助于提升电商平台的数据处理能力、用户体验及商家运营效率。使用时需注册亚马逊开发者账号并申请API访问权限,获取API密钥后按文档构建请求并处理响应数据。
|
7月前
|
SharePoint REST API 设置SummaryLength属性
【8月更文挑战第10天】在SharePoint中,可通过REST API设定`SummaryLength`属性来控制列表或库内项目摘要的显示长度。首先确定目标URL,接着构建POST请求并指定JSON格式的新摘要长度值,例如设置为100字符。利用Postman等工具发送请求,并确保提供认证信息。成功后,摘要长度将按设定更新,注意操作权限及对用户体验的影响。

热门文章

最新文章