我们将在遗留数据库上开发一个新系统(使用.NET C#).大约有500个表.我们选择将ORM工具用于我们的数据访问层.问题在于实体的namig约定.
数据库中的表的名称类似于TB_CUST
- 包含客户数据的表或TP_COMP_CARS
- 公司汽车.前缀的第一个字母定义模块,第二个字母定义与其他表的关系.
我想将实体命名为更有意义.就像TB_CUST
客户或CustomerEntity一样.当然会有一个注释指向其表名.
但DBA和一个人的程序员,不想要这样的名字.他希望实体名称与表名完全相同.他说他必须记住两个名字,这将是困难和混乱的.我不得不说他不太熟悉OOP的原则.
但是在实体名称的情况下,TP_COMP_CARS
应该有类似的方法名称Get TP_COMP_CARS
或SaveTP_COMP_CARS
..我认为这是不可读和丑陋的.
所以请告诉我你的意见.谁是对的,为什么.
先感谢您
我有一个xml文件,我想显示(渲染)它,因为它是用户,即我想保留标签.我应该怎么做RoR?
我试过了render :file=>"/path/to/file.xml"
,但标签<product>
消失了.
//file.xml
<product>car</product>
Run Code Online (Sandbox Code Playgroud)
更新:我发现该行为依赖于浏览器
Mozilla/5.0(X11; U; Linux i686; en-US; rv:1.9.0.3)Gecko/2008101315 Ubuntu/8.10(强悍)Firefox/3.0.3
标签保存.
Mozilla/5.0(Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.15)Gecko/2009101601 Firefox/3.0.15
标签消失了.
我希望能够将一个名为"recent_date"的自定义函数作为我的HQL的一部分.像这样:[Date] >= recent_date()
我创建了一个新的方言,继承自MsSql2000Dialect并为我的配置指定了方言.
public class NordicMsSql2000Dialect : MsSql2000Dialect
{
public NordicMsSql2000Dialect()
{
RegisterFunction(
"recent_date",
new SQLFunctionTemplate(
NHibernateUtil.Date,
"dateadd(day, -15, getdate())"
)
);
}
}
var configuration = Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2000
.ConnectionString(c => .... )
.Cache(c => c.UseQueryCache().ProviderClass<HashtableCacheProvider>())
.Dialect<NordicMsSql2000Dialect>()
)
.Mappings(m => ....)
.BuildConfiguration();
Run Code Online (Sandbox Code Playgroud)
调用时recent_date()
我得到以下错误:
System.Data.SqlClient.SqlException:'recent_date'不是可识别的函数名称
我正在使用where语句中的HasMany映射,如下所示.
HasMany(x => x.RecentValues)
.Access.CamelCaseField(Prefix.Underscore)
.Cascade.SaveUpdate()
.Where("Date >= recent_date()");
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
我尝试使用MEF完成一些事情,但现在,我遇到了一个需要帮助的问题.
说明:我有2个DLL和一个EXE文件.ClassLibrary1(LoggerImpl.cs,SomeClass.cs)ClassLibrary2(ILogger.cs)WindowsApplicationForms1(WindowsApplicaitonForms1.cs,Program.cs)
我需要任何帮助或方向,为什么这不起作用?
// ClassLibrary1.dll
//SomeClass.cs
public class SomeClass
{
[Import("Logging", typeof(ILogger))]
public ILogger Log { get; set; } <-- ALWAYS NULL ???
public void Print()
{
Log.Print();
}
}
// ClassLibrary1.dll
// LoggerImpl.cs
namespace ClassLibrary1
{
[Export("Logging", typeof (ILogger))]
public class LoggerImpl : ILogger
{
public void Print()
{
Console.WriteLine("print called");
}
}
}
// ClassLibrary2.dll
// ILogger.cs
namespace LogNamespace
{
public interface ILogger
{
void Print();
}
}
// WindowsFormsApplication1.exe
// WindowsFormsApplication1.cs
namespace WindowsFormsApplication1
{
[Export("Form1",typeof(Form1))]
public partial …
Run Code Online (Sandbox Code Playgroud) 该生产开源软件本书是有关启动开源项目一个金矿.然而,我希望从stackoverflow用户的经验中学到更多,并且想知道在开始一个新的开源项目时你犯了什么错误(或者你在尝试为一个新项目做出贡献时遇到的困难),你会怎样避免这些陷阱成为一个成功的项目*?
**成功松散地定义为使用的项目,并吸引活跃的贡献者.*
我想为我的网站创建一个图片库,并从网站的管理面板上传这些图片.我将在一个非常小的页面中显示所有图片,并且我将为每张图片分开一个地方以显示大尺寸的所选图片(来自小图片).
我知道两种方法:
我创建了2张图片,用于从管理面板上传,一张大图片,一张小图片,尺寸固定.所以我将在一个独立的大空间加载一个大的.小的地方会显示小的.所以该网站的管理员应该创建2个图片.
我知道的第二种方法是使用PHP的GD库只能上传大图,并且在每个地方PHP函数将调整大图并获得我需要的2个尺寸的图库.
第一种方法的缺点是,网站的用户在上传之前应该使用Photoshop或其他工具.让我们同意这对网站用户来说不是一件令人愉快的事情.
第二种方法也不好,因为GD通过降低质量来调整图片大小.而且这种损失是不可接受的,因为它太多了.
在保持接近原始图像质量的同时调整操作大小的方法是什么?
或者这两种方法的另一种方法是什么?
$('#selectList :selected').text()
是已知的语法
我必须从而$(this)
取代相同的值$('#selected')
这样的事情
$(this :selected').text()
?
是否有CPAN模块可以自动化着名的ollydbg调试器?如果是,有人可以提供这样的模块和一些教程/文档/示例吗?
我有这个XML数据,并尝试使用下面的XSLT片段对它进行总结.
XML
<?xml version="1.0" encoding="utf-8"?>
<values>
<value>159.14</value>
<value>-2572.50</value>
<value>-2572.50</value>
<value>2572.50</value>
<value>2572.50</value>
<value>-159.14</value>
</values>
Run Code Online (Sandbox Code Playgroud)
XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="sum(values/value)"/>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
在我的世界中,该值应为0但最终为-0.0000000000005684341886080801
在Visual Studio中运行它并亲自查看.为什么?这是怎么回事?