• EF4代码优先不支持泛型,可继承,对sql2008修改库不方便


    ScottGu的blog发布了一篇新的文章

    http://blog.joycode.com/scottgu/archive/2010/08/11/116042.joy

    试了一下,发现也不是很爽。

    首先泛型,编译后执行,直接就报错,不支持

    The type '……' is not a valid entity type. Generic types are not supported.
    我想的情景是这样的

    比如我有两个实体,News和Products,这两个都允许评论,评论的实体是一样的。

    因为需要有一个主外键关系

    在信息实体里(News和Products)需要有

    ICollection<Commet>
    在评论里,需要有对应的News或Products;
    我希望能够写一个泛型评论类,他的外键是这个泛型T
    而在News或Products里,是一个ICollection<Commet<News>>或ICollection<Commet<Products>>
    未果

    所以用继承,建立一个评论的基类,此基类中不包含对News或Products的引用,留在子类中实现
    可以很好的生成表 


    但是如果,做一个泛型基类Commet<T>
    子类类似于NewsCommet:Commet<News>
    这样的时候,他会报错,找不到主键,哪怕你在泛型基类里设置了[Key]的attribute也不行
    如果你在NewCommet里加一个id的话,他生成的表就只有id和newid(productid)这两个字段,其他的都丢失了

    另外,在scott的blog里吹嘘了sqlce如何如何,但是因为不能很方便的看到库结构,所以我还是用了sql08
    发现他那个自动更新库实在是不好用,因为你刚刚运行了一下,打开页面,查了数据,sql有连接,
    重新运行需要同步数据库的时候,他是先删掉旧库再重新建一遍,他删库的时候,不能自动删除链接,所以删库步骤报错
    当你手动删库之后,直接刷新页面还不行,因为他建库以后就缓存了,你必须先停掉web服务,然后重新启动。
    麻烦

  • 相关阅读:
    支持向量机(一)
    决策树(四)
    决策树(三)
    决策树(二)
    决策树(一)
    朴素贝叶斯(一)
    k近邻法(二)
    k近邻法(一)
    感知机
    mercurial 入门
  • 原文地址:https://www.cnblogs.com/czcz1024/p/1797712.html
Copyright © 2020-2023  润新知