这几天开始接触ADO.NET Entity Framework,突然发现一处奇怪的BUG。

首先来看这样一个目录结构:


我将EDM模型存入了一个名为“A”的目录中,然后编辑模型,设置其命名空间为“CommonDBModel”:


保存后打开CommonDBModel.Designer.cs查看生成的代码:

 

看上面的命名空间居然是“A”,而不是我设置的“CommonDBModel”。

这个命名空间显然是和其目录名称吻合的,于是我修改目录名为“CommonDBModel”:


象征性修改并保存模型,以使生成的代码得以刷新,再查看生成的代码:

 

果然是变成了“CommonDBModel”。

也就是说先前在属性面板设置的命名空间根本就是无效的,它只会以目录名作为命名空间名称,我认为这不合乎逻辑。

而假如直接将模型放入App_Code目录下,命名空间属性就可以正常生效。

posted on 2008-10-11 14:50  斯克迪亚  阅读(1303)  评论(4编辑  收藏  举报