EF踩坑记录

EF链接字符串问题

错误提示:System.Data.Entity.Infrastructure.UnintentionalCodeFirstException:“正在 Code First 模式下将此上下文与从 EDMX 文件生成的用于 Database First 或 Model First 开发的代码一起使用。这将无法正常工作。若要解决此问题,请不要删除引发此异常的代码行。如果希望使用 Database First 或 Model First,请确保 Entity Framework 连接字符串包括在启动项目的 app.config 或 web.config 中。如果要创建你自己的 DbConnection,请确保它是 EntityConnection 而不是某种其他类型的 DbConnection,并且确保将其传递到接受 DbConnection 的基本 DbContext 构造函数之一。若要了解 Code First、Database First 和 Model First,请参阅此处的 Entity Framework 文档: http://go.microsoft.com/fwlink/?LinkId=394715”

数据库无主键插入报错

错误提示:无法更新 EntitySet“实体名称”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 元素。

Linq中的日期条件判断

DbFunctions.DiffDays(x.CreatedTime, DateTime.Now) == 0 注意只能从 LINQ to Entities 调用此函数。

webconfig中EF链接字符串问题

报错: System.Configuration.ConfigurationErrorsException 项“XXX” 已添加
解决:增加 <clear />
<connectionStrings>
<clear />
<add name=“XXX” connectionString=“XXXXXXXXXXXXXXXXXXXXXX” providerName=“System.Data.EntityClient” />
</connectionStrings>

db.Database.SqlQuery(sql, param).ToList();

此方法完全重复的数据会被自动distinct。

db.Entry(model).State = System.Data.Entity.EntityState.Modified;

当对象属性值无变化时,db.Savechanges()不会执行更新,返回0,设置此属性可以强制更新。

<< 学习C# Web开发是一项系统化的过程,需要掌握从基础到高级的各种技能。以下是一个完整的、循序渐进的学习路线: ### 第一阶段:基础知识(语言与框架) 1. **熟悉C#语言** - 掌握C#的基础语法(变量类型、控制结构、循环等)。 - 深入理解OOP概念(类、继承、接口、多态、封装等)。 2. **HTML/CSS/JavaScript 基础** - HTML5 和 CSS3 是构建Web页面的基本工具。 - JavaScript用于增强网页交互能力(DOM操作、事件处理等)。推荐先了解ES6+的新特性。 ### 第二阶段:深入ASP.NET Core (现代首选) 1. **安装并配置 .NET SDK & Visual Studio IDE** 官方网站下载最新版.NET SDK, 并使用VisualStudio 或 VS Code 开发环境进行调试和部署练习。 2. **学习 ASP.NET Core MVC 架构模式** - 理解Model-View-Controller(MVC)设计模式如何帮助组织应用逻辑分离视图层和业务规则。 ```csharp // 示例: 创建一个简单的控制器 public class HomeController : Controller { public IActionResult Index() => View(); [HttpGet] public IActionResult Contact() => Content("联系信息"); } ``` 3. **Razor Pages 及 Views 渲染技术** Razor提供了一种简洁的方式来编写包含服务端代码的动态网页内容。 4. **Entity Framework Core 数据访问** 学会利用EFCore同数据库打交道,包括CRUD基本操作以及查询优化技巧。 ```csharp // EFCore 实体模型定义示例 public class BlogContext : DbContext{ public DbSet<Blog> Blogs { get; set;} } public class Blog { public int Id{get;set;} public string Name{get;set;} } ``` ### 第三阶段:实战项目经验积累 1. **API 设计与 RESTful 标准实践** 使用`[ApiController]`, 为前端或其他系统暴露数据接口,并考虑身份验证授权机制如OAuth2/JWT Token认证方案实施安全性保障措施。 2. **性能调优与缓存策略研究** 包括但不限于内存管理、异步非阻塞式编程风格的应用场景探讨;Redis/Memcached 分布式存储解决方案引入时机分析等等... 3. **云平台发布部署流程演练** 针对Azure/AWS/GCP主流公有云端服务平台的具体步骤指南文档阅读完成实际动手操练过程记录总结分享给其他同学互相交流提高效率减少概率增加成功几率同时提升个人品牌价值影响力扩大知名度获得更多就业机会选择权主动出击把握命运方向成就非凡人生目标! ### §相关问题§: 1. 如何快速入门 C# 编程? 2. 在学习过程中遇到问题时有哪些资源可以帮助解决问题?例如官方教程或社区论坛链接地址在哪里查找得到呢 ? 3. 如果没有计算机科学背景可以直接学asp.net core吗? 还是说建议先补全哪些前置知识点比较好些啊 ? 4. 对于初学者来说是否有必要一开始就接触微服务体系架构下的容器编排等相关高阶话题领域还是应该专注于打好坚实的基础再逐步扩展视野范围更好一点呀 😊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值