我經常採取LINQ2SQL生成的類,並創建一個簡單的純數據類,像這樣我應該爲我的Linq2Sql數據使用Struct而不是輕量級數據類嗎?
public class myentity
{
public Guid id { get; set; }
public string name { get; set; }
// etc
}
我不把方法這些類和我主要是把它們作爲輔助類,所以我可以序列化到/來自json和其他類似的行爲,很容易。
我的問題是,我應該在這種情況下,而不是一個類使用結構?
將它作爲一個結構體,或多或少地定義一個結構體似乎是有意義的,但我不知道這裏的性能是否理想,因爲我經常將類從方法傳遞給方法,由於結構是值類型,因此不需要大量副本。
我經常做的另一件事是使用Linq2Sql的延遲執行來返回我自己的輕量版本的Linq2Sql類,而不是他們生成的。我不完全確定如果使用結構而不是類會在這裏產生一些不利的性能影響。
的我怎麼會使用延遲執行的例子是這樣的
public IEnumerable<myentity> getEntities()
{
return from me in MyEntity return new myentity() { id = me.id, name = me.name };
}
public IEnumerable<myentity> getEntitiesThatStartWith(string s)
{
return from me in getEntities() where me.name.StartsWith(s);
}
哇,我不知道,我需要更多地閱讀ALOT更多的結構,謝謝 – 2009-09-11 19:22:14