我在NHibernate 4.0.0.4000中使用Fluent NHibernate 2.0.3 后端DB是Sqlite。
我的实体和映射定义如下:
public class PriceHistory
{
public virtual int ID { get; set; }
public virtual IList<long> Date { get; set; }
public virtual IList<float> Price { get; set; }
public virtual IList<int> Volume { get; set; }
public virtual float MinPrice { get; set; }
public virtual float MaxPrice { get; set; }
}
class PriceHistoryMap : ClassMap<PriceHistory>
{
public PriceHistoryMap()
{
Table("PriceHistories");
Id(x => x.ID);
HasMany<long>(x => x.Date);
HasMany<float>(x => x.Price);
HasMany<int>(x => x.Volume);
Map(x => x.MinPrice);
Map(x => x.MaxPrice);
}
}
当我尝试启动应用程序时,我得到了这个例外:
Association references unmapped class: System.Int64
如果我有int,long或float,那没关系。我总是得到一个例外,好像我必须为每个基本值类型定义映射。
这里有什么不对?什么是值类型列表的正确映射?
答案 0 :(得分:1)
我相信您可能必须将其作为import React, {
Animated,
Component,
View
} from 'react-native';
export default class EasingTest extends Component {
state = {
input: new Animated.Value(0)
};
componentDidMount() {
const max = 937;
const output = this.state.input.interpolate({
inputRange: [0,max],
outputRange: [0,1/max],
easing: t => 1 / t
});
setInterval(() => {
const input = this.state.input.__getValue();
const expected = 1 / input;
const actual = output.__getValue();
const error = Math.abs(expected - actual) / max;
console.info(`f(${input}) = ${actual} (expected ${expected}, error ${Math.round(error * 100)}%`);
}, 200);
Animated.timing(this.state.input, {
toValue: max,
duration: 1000
}).start();
}
render() {
return <View />
}
}
此post也可能对您的问题有所帮助
答案 1 :(得分:0)
我不确定,但听起来你的漂浮物,彗星和长片住在不同的桌子上?
如果是这种情况,您可能需要为每个设置HasMany
关系,如下所示:
HasMany<int>(x => x.Volume)
.Table("PriceHistoryVolumes")
.KeyColumn("PriceHistoryID")
.Element("Volume");