下载地址: 发布 NBearV3.7 beta build 2 公开测试版

我写的项目中, 进行了以下更改..
1. 更新EntityDesignToEntityConfig.xml文件, 将EntityConfigPath注释掉, 并将EntityConfig.xml 删除, 然后在Web.config中去掉entityConfig
<?xml version="1.0" encoding="utf-8" ?>
<EntityDesignToEntityConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
原有项目升级到NBear 3.7.0 beta build 2
<!--<EntityConfigPath>..\website\EntityConfig.xml</EntityConfigPath>
-->
原有项目升级到NBear 3.7.0 beta build 2
</EntityDesignToEntityConfiguration>

原有项目升级到NBear 3.7.0 beta build 2<?xml version="1.0"?>
原有项目升级到NBear 3.7.0 beta build 2
<configuration>
原有项目升级到NBear 3.7.0 beta build 2原有项目升级到NBear 3.7.0 beta build 2
原有项目升级到NBear 3.7.0 beta build 2    
<!--<configSections>
原有项目升级到NBear 3.7.0 beta build 2        <section name="entityConfig" type="NBear.Common.EntityConfigurationSection, NBear.Common"/>
原有项目升级到NBear 3.7.0 beta build 2    </configSections>
原有项目升级到NBear 3.7.0 beta build 2    <entityConfig>
原有项目升级到NBear 3.7.0 beta build 2        <includes>
原有项目升级到NBear 3.7.0 beta build 2            <add key="Sample Entity Config" value="~/EntityConfig.xml"/>
原有项目升级到NBear 3.7.0 beta build 2        </includes>
原有项目升级到NBear 3.7.0 beta build 2    </entityConfig>
-->
原有项目升级到NBear 3.7.0 beta build 2原有项目升级到NBear 3.7.0 beta build 2
原有项目升级到NBear 3.7.0 beta build 2
</configuration>
原有项目升级到NBear 3.7.0 beta build 2

原因: release_note.txt
4) Release denpendency from EntityConfig.xml files.
EntityDesignToEntity.exe tool of this version embeds meta-data configurations of entities to the gerated entities code,
which means external EntityConfig.xml files are not MUST specify now.
But if you specify external EntityConfig.xml files in Web.config/App.config, configurations in external EntityConfig.xml files will
overwrite the embedded configurations.

2. 查询方式的改变
原来的方式:
原有项目升级到NBear 3.7.0 beta build 2public Comment[] GetComments(int contentID, int pageSize, int pageNo, OrderByClip orderBy)
        }

现在改成用Gateway.From()方式
 public Comment[] GetComments(int contentID, int pageSize, int pageNo, OrderByClip orderBy)
        {
            pageNo
--;
            
if(contentID >0)
            {
                
return gateway.From<Comment>().Where(Comment._.ContentID == contentID).OrderBy(orderBy).ToArray<Comment>(pageSize, pageSize * pageNo);
            }
            
return gateway.From<Comment>().OrderBy(orderBy).ToArray<Comment>(pageSize, pageSize * pageNo);
        }

From()方法非常类似SQL语法的行为....ToArray()中, 第一个参数为分页大小,等效与Top N, 第二个参数是忽略掉前N条记录...
当PrimaryKey是Int型, 并且是按PrimaryKey排序时, 分页采用PrimaryKey > MAX(PrimaryKey)方式(降序则为PrimaryKey < Min(PrimaryKey)), 用上面的GetComments()方法, 生成的SQL语句如下:
-- ics.GetComments(1, 10, 1);
Text    SELECT TOP 10 [Comment].[ID],[Comment].[ContentID],[Comment].[User_ID],[Comment].[UserName],[Comment].[UserPageUrl],[Comment].[Title],[Comment].[Body],[Comment].[IP],[Comment].[ModifiedDate] FROM [Comment] WHERE [Comment].[ContentID] = @p6xbcgsrdnkc0xk ORDER BY [Comment].[ID]    
Parameters:
@p6xbcgsrdnkc0xk[Int32] = 1

-- ics.GetComments(1, 10, 3);
Text    SELECT TOP 10 [Comment].[ID],[Comment].[ContentID],[Comment].[User_ID],[Comment].[UserName],[Comment].[UserPageUrl],[Comment].[Title],[Comment].[Body],[Comment].[IP],[Comment].[ModifiedDate] FROM [Comment] WHERE ([Comment].[ContentID] = @p0iaahrq8xlay8aAND [Comment].[ID]>(SELECT MAX([__T].[ID]FROM (SELECT TOP 20 [Comment].[ID] AS [ID] FROM [Comment] WHERE [Comment].[ContentID] = @peyno72o4ia1nq4 ORDER BY [Comment].[ID][__T]ORDER BY [Comment].[ID]    
Parameters:
@peyno72o4ia1nq4[Int32] = 1
@p0iaahrq8xlay8a[Int32] = 1


3. FindArray()方法同样需要转换成From()方法, 转换很简单, 直接From().ToArray(EntityType)()就行了....

相关文章:

  • 2022-12-23
  • 2021-12-09
  • 2021-05-31
  • 2021-10-25
  • 2022-12-23
  • 2021-07-25
  • 2022-12-23
  • 2022-02-11
猜你喜欢
  • 2021-10-22
  • 2021-05-13
  • 2022-01-21
  • 2022-01-10
  • 2021-10-23
  • 2021-09-29
  • 2022-01-08
相关资源
相似解决方案