Entity Framework 就是个坑

作者:V君 发布于:2014-8-9 13:59 Saturday 分类:折腾手记

前些天整到个 sqlite-net , 支持Linq的轻量级sqlite组件. 起初用着还顺手的

用着用着就马丹了 -- 不支持连表查询/复杂投影, 我了个去!

还是回到DataContext吧... 要么DbLinq 要么实体框架,前者之前用过知道略buggy.

是时候该上手EF了.

>>> 上手吧 <<<

■去Sqlite官网下载组件安装包

由于现在只用到.net4的级别就下了对应安装包

装好(x86/x64)之后发现设计器并没有增加提供程序, 后来才发现 原来vs2013需要4.5.1的才行

果断下一个来装,总算是见到2013的集成选项了,安装过程依次出现数个命令行窗口

最后一个停在Install.exe上,等了几分钟,命令行窗口总算消失了, 安装向导完成!

乖乖的, 数据提供程序出来啦!

点击查看原图

创建数据库连接时出现了莫名其妙的错误

点击查看原图

整了半天 各种版本与提供程序不兼容.. 并且EF还依赖于设计器生成的xml嵌入资源 -- 这跟嗨布馁没差别啊魂淡.

放弃治疗, 要么不做复杂投影, 要么回到buggy的dbLinq..


(偷偷更新:后来还发现了linq2db这货支持复杂投影也能自动生成实体类(T4), 用着还可以)

标签: 软件开发 C# 数据库

评论(0) 引用(0) 浏览(1880)

让mono也能用DynamicExpression::ParseLambda

作者:V君 发布于:2014-7-22 13:29 Tuesday 分类:折腾手记

网上一直传的反射 System.Web.Extensions 私有类

 System.Web.Query.Dynamic.DynamicExpression 

中的 ParseLambda 方法来实现动态lambda表达式

Assembly asm = typeof(UpdatePanel).Assembly;

Type dynamicExpressionType =
    asm.GetType("System.Web.Query.Dynamic.DynamicExpression");

MethodInfo parseLambdaMethod = dynamicExpressionType
   .GetMethods(BindingFlags.Public | BindingFlags.Static)
   .Where(m => (m.Name == "ParseLambda")
            && (m.GetParameters().Length == 2))
   .Single()
   .MakeGenericMethod(typeof(T), typeof(Boolean));

var func = (Func<stringobject[], Expression<Func<T, bool>>>)
    Delegate.CreateDelegate(
       typeof(Func<stringobject[], Expression<Func<T, bool>>>)
       , parseLambdaMethod
    );

在Windows底下一直好好的发挥作用

不过最近在mono跑了爆空指针, 或许是类名不同或者压根就没实现吧

不管了, 试着扒出M¥类库的代码看看能不能用吧.

过程略. (反编译,修正编译器生成标识符,切断依赖) 还挺顺利的 乂D

拿去用吧: System.Web.Query.Dynamic.cs.zip 尽管还整理的不够到位

(错误提示口胡和编译经过) 乂D


好吧, 原来dbLinq项目里也有 这玩意 , 用它吧, 较靠谱


这个月0博文消灭乂D

标签: 软件开发 C# 数据库 mono LINQ

评论(0) 引用(0) 浏览(2124)

在树莓派上安装MediaWiki

作者:V君 发布于:2014-6-22 16:46 Sunday 分类:小服杂记

自从换工作后变得更忙了, 哪里还有时间搞自己的实现呀.. 

于是就用了维基百科的MediaWiki.

别看树莓这点性能, 其实页面加载速度还是挺理想的

阅读全文>>

标签: 树莓派 linux apache php mediawiki

评论(2) 引用(0) 浏览(2766)

令人抓狂的糟糕代码

作者:V君 发布于:2014-5-13 15:19 Tuesday 分类:填坑经验

今天被安排修一个旧项目的BUG(或变更)

啊啊 又要面对前人的邋遢代码了, 是在受不了, 贴出来一起挂人吧 

阅读全文>>

标签: 软件开发 C# 代码质量

评论(6) 引用(0) 浏览(1927)

不规则二维数组遍历组合(笛卡尔积)算法(非递归)

作者:V君 发布于:2014-5-12 14:14 Monday 分类:挖坑经验

最近需要用到生成一定规则的URL, 于是整了个算法.

由于网上找来的参差不齐, 各种参考后自己改出个总算能用的来.

阅读全文>>

标签: 软件开发 C# 算法 字符串处理

评论(2) 引用(0) 浏览(2399)

Powered by emlog 去你妹的备案 sitemap