我用NBear的几个疑惑和问题

2 views
Skip to first unread message

夜已醉

unread,
Nov 8, 2006, 8:27:59 PM11/8/06
to NBear Google Group
但有几个问题。
一、我DbToEntityDesign做ioc的练习时,无论是Sql2005
express还是sql200都无法生成视图的实体类,只能生成表的实体类,错误如下:
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance
of an object.
at NBear.Data.Gateway.SelectScalar[ReturnColumnType](String cmdText,
Object[] paramValues) in
c:\Teddy\NBearV3\src\NBear.Data\Gateway.cs:line 964
at NBear.Tools.EntityGen.Form1.IsColumnPrimaryKey(String name,
String column) in
c:\Teddy\NBearV3\src\NBear.Tools.DbToEntityDesign\Form1.cs:line 551
at NBear.Tools.EntityGen.Form1.GenEntity(String name, Boolean
isView) in
c:\Teddy\NBearV3\src\NBear.Tools.DbToEntityDesign\Form1.cs:line 455
at NBear.Tools.EntityGen.Form1.btnGen_Click(Object sender, EventArgs
e) in c:\Teddy\NBearV3\src\NBear.Tools.DbToEntityDesign\Form1.cs:line
678
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32
msg, IntPtr wparam, IntPtr lparam)

-------------------------------
二、在orm练习中的name,是序列化的,有什么作用?用CompoundUnit特性一定非得要序列化吗?我觉得不用序列化话,更加方便实用,特别用gridview绑定数据,我要直接显示用户的姓名时,想怎么办?
三、我觉得Nbear缺少一个记录系统日志的模块,在企业级程序日志是不可缺少的吧。如果用Log4net这类,好像有损NBear框架的优美和简洁。
四、NBear的ajax是个轻量级框架,但与微软的ajax.net相比,好像ajax.net可以用少量的代码就实现很多功能,不知NBear的ajax的有什么优点?或者说用在哪方面用NBear的ajax功能更好?
五、还是orm问题,我用EntityDesigns工程生成的生成实体类和数据库时,令我很惊喜生成的数据库时居然可以根据类设计图生成视图,但美中不足的是没有生成视图的实体类。还有是否可以生成的实体类以一个类一个文件的形式呢?我认为这样更容易维护。
六、可否出个NBear版本的Petshop呢,它是NBear是最佳实践。我想这样做对于推广NBear的作用很大,界时所有教程只要围绕petshop做就行了,更省功夫。只要用户研究它就可以按部就班地开发系统了,而且可以展示NBear的优点!
另外,我用的是NBearV3.1.4_Beta版本。

develop...@gmail.com

unread,
Nov 8, 2006, 8:41:18 PM11/8/06
to NBear Google Group
楼上的第四点我也很赞同,NBear的AJAX框架我认为不太方便,还不如直接用ASP.NET
AJAX,建议Teddy将精力放到别的地方

Teddy

unread,
Nov 8, 2006, 8:45:32 PM11/8/06
to nbear...@googlegroups.com
谢谢你的支持~~
 
1、经检查,DbToEntityDesign现在对于从视图生成代码确实有问题,我会马上检查和修复。(如果你急用,可以使用较早版本的DbToEntityDesign,新版本可能再修正DbToEntityDesign的其他问题时,导致了现在这个错误。)

2、CompoundUnit序列化只是为了在一个数据字段中保存更多内容,这里的name仅仅为了演示CompoundUnit。另外你说的gridview数据绑定,是完全方便支持的,可以度数据时可以直接name.FirstName访问。
 
3、如果用Log4net这类,好像有损NBear框架的优美和简洁——你这样说其实恰恰错了。就是因为Log4net这类足够强大了,NBear没必要再提供,这样各自才能用有限的精力提供更好的服务。我们不是MS,不必要每方面都做到No.1。
 
4、关于NBear中的Ajax,请参见:。试用一下就能感觉到她和ajax.net等的不同关注点。
 
5、因为生成的实体一般不需修改,因此几乎不需要维护,所以放在一个文件里,更合理一些。
 
6、DesignsToEntity工具生成的视图是被NBear内部使用的,无须显式的生成对应的视图实体类。
 
7、这个是可以考虑的,事实上已经有噢鞥又在做这方面的努力。
 
Teddy
 
On 11/9/06, 夜已醉 <rhsd...@gmail.com> wrote:
但有几个问题。
一、我DbToEntityDesign做ioc的练习时,无论是Sql2005
express还是sql200都无法生成视图的实体类,只能生成表的实体类,错误如下:
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance
of an object.
  at NBear.Data.Gateway.SelectScalar[ReturnColumnType](String cmdText,
Object[] paramValues) in
c:\Teddy\NBearV3\src\NBear.Data\Gateway.cs:line 964
  at NBear.Tools.EntityGen.Form1.IsColumnPrimaryKey(String name,
String column) in
c:\Teddy\NBearV3\src\NBear.Tools.DbToEntityDesign\Form1.cs:line 551
  at NBear.Tools.EntityGen.Form1.GenEntity(String name, Boolean
isView) in
c:\Teddy\NBearV3\src\NBear.Tools.DbToEntityDesign\Form1.cs:line 455
  at NBear.Tools.EntityGen.Form1.btnGen_Click(Object sender, EventArgs
e) in c:\Teddy\NBearV3\src\NBear.Tools.DbToEntityDesign\Form1.cs:line
678
  at System.Windows.Forms.Control.OnClick(EventArgs e)
  at System.Windows.Forms.Button.OnClick(EventArgs e)
  at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
  at System.Windows.Forms.Control.WmMouseUp (Message& m, MouseButtons

button, Int32 clicks)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.ButtonBase.WndProc(Message& m)
  at System.Windows.Forms.Button.WndProc (Message& m)

  at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
m)
  at System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32

Teddy

unread,
Nov 8, 2006, 9:03:31 PM11/8/06
to nbear...@googlegroups.com
DbToEntityDesign现在对于从视图生成代码出错的问题已经修复!
 
请需要使用该工具的朋友下载最新的v3.1.6修复该错误。
 
Teddy
 
Reply all
Reply to author
Forward
0 new messages